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

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

问题描述:

我想做的是:

  1. 将 JSON 作为来自 php 文本区域的输入
  2. 使用此输入并将其转换为 JSON 并将其传递给 php curl 以发送请求.

这个从 api 获取这个 json 字符串的 php 我想传递给 json 但它没有转换为数组

this m getting at php from get of api this json string i want to pass to json but it is not converting to array

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);

上面的代码没有返回数组.

the above code is not returning me array.

如果您将帖子中的 JSON 传递给 json_decode,它将失败.有效的 JSON 字符串包含带引号的键:

If you pass the JSON in your post to json_decode, it will fail. Valid JSON strings have quoted keys:

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.