尝试解析此 json 文件并将其存储在 php 中
Trying to parse this json file and store it in php
我正在尝试解析此 json 文件,但我无法将其作为数组存储在 php 中。我在访问 json 文件的对象时遇到问题,因为我收到“非法字符串偏移量 'name' 错误。
我的代码如下:
这是我的json:
"{\"Data\":[{\"id\":21,\"name\":\"Parle G\",\"item_code\":\"PG4\"},{\"id\":22,\"name\":\"Dark Fentasy\",\"item_code\":\"DF\"}]}"
这是我尝试读取文件但无法访问对象的地方
<?php
// Read JSON file
$json = file_get_contents('results.json');
//Decode JSON
$json_data = json_decode($json);
//print_r($json_data);
echo $json_data[0]['name'];
?>
有人可以帮我解决这个问题吗?
您需要使用:
$json_data = json_decode($json, true);
这会将 json 转换为关联数组
然后尝试:
echo $json_data['Data'][0]['name'];
如果您想将其用作数组,则必须将其转换为数组:
$json_data = (array) json_decode($json);
这会将 JSON 中的所有字段放入 PHP 数组中:
Array ( [Data] => Array ( [0] => stdClass Object ( [id] => 21 [name] => Parle G [item_code] => PG4 ) [1] => stdClass Object ( [id] => 22 [name] => Dark Fentasy [item_code] => DF ) ) )
或者您可以将数据转换为对象,因此您将必须访问像 $json_data->Data[0]->name
这样的字段
$json_data = (object) json_decode($json);
在 json_decode
文档中阅读更多内容:http://php.net/manual/en/function.json-decode.php
<?php
// Read JSON file
$json = file_get_contents('http://192.168.1.100:8080/demo_phonegap/webservices/result.json');
//Decode JSON
$json_data = json_decode($json, true);
echo json_encode($json_data);
?>
这里需要设置JSON文件的完整路径来读取JSON文件。
并使用 $json_data = json_decode($json, true);解码 JSON 文件。
希望对您有所帮助。
我正在尝试解析此 json 文件,但我无法将其作为数组存储在 php 中。我在访问 json 文件的对象时遇到问题,因为我收到“非法字符串偏移量 'name' 错误。
我的代码如下:
这是我的json:
"{\"Data\":[{\"id\":21,\"name\":\"Parle G\",\"item_code\":\"PG4\"},{\"id\":22,\"name\":\"Dark Fentasy\",\"item_code\":\"DF\"}]}"
这是我尝试读取文件但无法访问对象的地方
<?php
// Read JSON file
$json = file_get_contents('results.json');
//Decode JSON
$json_data = json_decode($json);
//print_r($json_data);
echo $json_data[0]['name'];
?>
有人可以帮我解决这个问题吗?
您需要使用:
$json_data = json_decode($json, true);
这会将 json 转换为关联数组
然后尝试:
echo $json_data['Data'][0]['name'];
如果您想将其用作数组,则必须将其转换为数组:
$json_data = (array) json_decode($json);
这会将 JSON 中的所有字段放入 PHP 数组中:
Array ( [Data] => Array ( [0] => stdClass Object ( [id] => 21 [name] => Parle G [item_code] => PG4 ) [1] => stdClass Object ( [id] => 22 [name] => Dark Fentasy [item_code] => DF ) ) )
或者您可以将数据转换为对象,因此您将必须访问像 $json_data->Data[0]->name
$json_data = (object) json_decode($json);
在 json_decode
文档中阅读更多内容:http://php.net/manual/en/function.json-decode.php
<?php
// Read JSON file
$json = file_get_contents('http://192.168.1.100:8080/demo_phonegap/webservices/result.json');
//Decode JSON
$json_data = json_decode($json, true);
echo json_encode($json_data);
?>
这里需要设置JSON文件的完整路径来读取JSON文件。 并使用 $json_data = json_decode($json, true);解码 JSON 文件。
希望对您有所帮助。