为了账号安全,请及时绑定邮箱和手机立即绑定

如何将JSON字符串转换为数组

如何将JSON字符串转换为数组

PHP
慕森王 2019-06-24 12:58:53
如何将JSON字符串转换为数组我想做的是:在php中以JSON作为文本区域的输入使用此输入并将其转换为JSON,并将其传递给php curl以发送请求。这是从api的get of api获取到php,这个json字符串我想传递给json,但它不是转换成数组。echo $str='{         action : "create",         record: {             type: "n$product",             fields: {                 n$name: "Bread",                 n$price: 2.11             },             namespaces: { "my.demo": "n" }         }     }';     $json = json_decode($str, true);上面的代码没有返回Me数组。
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

    如果您将帖子中的JSON传递给json_decode它会失败的。有效的JSON字符串有引号键:


json_decode('{foo:"bar"}');         // this fails

json_decode('{"foo":"bar"}', true); // returns array("foo" => "bar")

json_decode('{"foo":"bar"}');       // returns an object, not an array.


查看完整回答
反对 回复 2019-06-24
?
郎朗坤

TA贡献1921条经验 获得超9个赞

试试这个:

$data = json_decode($your_json_string, TRUE);

第二个参数将使解码后的json字符串成为关联数组。


查看完整回答
反对 回复 2019-06-24
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

如果要从表单中获取JSON字符串,请使用$_REQUEST$_GET,或$_POST您将需要使用该函数。html_entity_decode()..我没有意识到这一点直到我做了一个var_dump请求中的内容和我复制的内容echo语句并注意到请求字符串要大得多。

正确方式:

$jsonText = $_REQUEST['myJSON'];$decodedText = html_entity_decode($jsonText);$myArray = json_decode($decodedText, true);

有错误:

$jsonText = $_REQUEST['myJSON'];$myArray = json_decode($jsonText, true);echo json_last_error(); //Returns 4 - Syntax error;


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 2673 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信