JSON 解析语法 - 简单的 PHP


JSON Parsing Syntax - Simple PHP

我有以下 json 输出 - 我已经尝试了多种方法,但没有任何运气 - 我只想获得种类(软件包)的值。任何想法:

{"items":
[{"assets":
[{"kind":"software-package","url":"__URL__"}],
"metadata":{"bundle-identifier":"SimpleCalculator",
"bundle-version":"000","kind":"software",
"title":"com.work.demo","subtitle":"1.0"}

谢谢

尝试用类似json_encode解码它

$result_arr = json_decode($my_arr,true);
print_r($result_arr['items']['assets']['kind']);

这不是有效的 JSON。

让我们尝试更明智地格式化它。

{"items": [
    {"assets": [
        {"kind":"software-package","url":"__URL__"}
     ],
     "metadata":{"bundle-identifier":"SimpleCalculator",
                 "bundle-version":"000","kind":"software",
                 "title":"com.work.demo","subtitle":"1.0"
                }

你缺少很多右括号。 :(

您如何获取此 JSON。它是手工格式化还是由某些软件生成?它们可能是源代码中的错误,而不是您的代码。

如果您

使用的是 5.3 以上的 PHP 版本,那么已经有内置函数来解码和编码 JSON 字符串。

$some_json_string = {......};
$json_string_as_object = json_decode($some_json_string);
$json_string_as_array = json_decode($some_json_string, true);

您也可以执行相反的操作:

$some_array = array(...);
$json_string = json_encode($some_array);

Json 解码 : http://php.net/manual/en/function.json-decode.phpJson 编码:http://www.php.net/manual/en/function.json-encode.php