Php 如何从json url输出中获取特定于输出的元素

Php 如何从json url输出中获取特定于输出的元素,php,Php,我在从json中获取结果时遇到了一些问题。使用php 这是我的json链接: 我想从json文件中取出:标题、位置(图片:mediumPreviewUrl)和smallMapUrl:) $json=file\u get\u contents('http://2strok.com/test/test.json'); $obj=json_decode($json); 如果($obj->result=='ok'){ foreach($obj->{'model_data'}作为$data){ echo$

我在从json中获取结果时遇到了一些问题。使用php

这是我的json链接:

我想从json文件中取出:标题、位置(图片:mediumPreviewUrl)和smallMapUrl:)

$json=file\u get\u contents('http://2strok.com/test/test.json');
$obj=json_decode($json);
如果($obj->result=='ok'){
foreach($obj->{'model_data'}作为$data){
echo$data->{'title'}.
; } }
您要查找的属性是
ok
,而不是
result
。它包含一个布尔值,因此您可以只查找
$obj->ok
,而不是将其与某个特定值进行比较

此外,访问这些属性不需要复杂的语法(
$obj->{'model_data'}
)。您可以从以下内容开始:

$json = file_get_contents('http://2strok.com/test/test.json');
$obj = json_decode($json);
if ($obj->ok) {
    foreach($obj->model_data as $data) {
        echo $data->title."<br />";
    }
}
$json=file\u get\u contents('http://2strok.com/test/test.json');
$obj=json_decode($json);
如果($obj->ok){
foreach($obj->model_数据为$data){
echo$data->title.“
”; } }

我认为您可以从这里获得所需的其余属性。

您遇到了什么问题?要获得结果。一方面,该URL上的JSON对象似乎没有
result
属性。实际上,它有一个带有布尔值的“ok”属性,看起来您想要检查。谢谢@don-ponic;)
$json = file_get_contents('http://2strok.com/test/test.json');
$obj = json_decode($json);
if ($obj->ok) {
    foreach($obj->model_data as $data) {
        echo $data->title."<br />";
    }
}