0

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

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

谢谢,

4

3 回答 3

2

尝试用json_encodelike对其进行解码

$result_arr = json_decode($my_arr,true);
print_r($result_arr['items']['assets']['kind']);
于 2013-09-19T11:33:26.303 回答
0

那不是有效的 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 的。它是手动格式化的还是由某些软件生成的?它们可能是源代码中的错误,而不是您的代码。

于 2013-09-19T11:35:48.937 回答
0

如果您使用的是 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.php Json 编码:http ://www.php.net/manual/en/function.json-encode.php

于 2013-09-19T11:37:42.173 回答