обработка ответов json из URL с использованием переполнения стека

Я использую Zillow API на моем сайте

{
request: {
address: "13546 36th Ave NE",
citystatezip: "Seattle, WA"},
message: {
text: "Request successfully processed",
code: "0"},
response: {
results: {
result: {
zpid: "48897608",
links: {
homedetails: "http://www.zillow.com/homedetails/13546-36th-Ave-NE-Seattle-WA-98125/48897608_zpid/",
graphsanddata: "http://www.zillow.com/homedetails/13546-36th-Ave-NE-Seattle-WA-98125/48897608_zpid/#charts-and-data",
mapthishome: "http://www.zillow.com/homes/48897608_zpid/",
comparables: "http://www.zillow.com/homes/comps/48897608_zpid/"},
address: {
street: "13546 36th Ave NE",
zipcode: "98125",
city: "Seattle",
state: "WA",
latitude: "47.727631",
longitude: "-122.289193"},
zestimate: {
amount: "393735",
last-updated: "03/12/2017",
oneWeekChange: {
@attributes: {
deprecated: "true"}
},
valueChange: "24606",
valuationRange: {
low: "374048",
high: "413422"},
percentile: "0"},
localRealEstate: {
region: {
@attributes: {
name: "Cedar Park",
id: "271831",
type: "neighborhood"},
zindexValue: "547,700",
links: {
overview: "http://www.zillow.com/local-info/WA-Seattle/Cedar-Park/r_271831/",
forSaleByOwner: "http://www.zillow.com/cedar-park-seattle-wa/fsbo/",
forSale: "http://www.zillow.com/cedar-park-seattle-wa/"}
}
}
}
}
}
}

Выше ответ, который я получаю от Zillow Api, я получил значения из ответа, что-то вроде ниже:

zpid => 48897608
links:
homedetails => http://www.zillow.com/homedetails/13546-36th-Ave-NE-Seattle-WA-98125/48897608_zpid/
graphsanddata => http://www.zillow.com/homedetails/13546-36th-Ave-NE-Seattle-WA-98125/48897608_zpid/#charts-and-data
mapthishome => http://www.zillow.com/homes/48897608_zpid/
comparables => http://www.zillow.com/homes/comps/48897608_zpid/
address:
street => 13546 36th Ave NE
zipcode => 98125
city => Seattle
state => WA
latitude => 47.727631
longitude => -122.289193
zestimate:
amount => 393735
last-updated => 03/12/2017

Я получил это, используя код ниже:

$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($json, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);

foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
echo "$key:\n";
} else {
echo "$key => $val\n";
}
}

Теперь мой вопрос, как можно получить отдельные значения, как в формате ниже?

<li>zipid:48897608</li>
<li>low:374048</li>

<li>last-updated:03/12/2017</li>

0

Решение

Это связано с тем, что тег list обрабатывается как тег html на странице. Другими словами, он не обрабатывается как обычный текст.
В этом случае мы должны заменить<‘и’> ‘с’&л ‘и’&GT».

Вот строка кода.

foreach ($arr as $key=>$val) {
echo "&ltli&gt{$key}:{$val}&lt/li&gt";
echo '<br>';
}

Надеюсь, это поможет вам.

Спасибо!

0

Другие решения

Я думаю, что ответ на ваш вопрос, просто измените ваш if состояние:

echo '<ul>';
foreach ($jsonIterator as $key => $val) {
if(!is_array($val)) {
echo '<li>'.$key.':'.$val.'</li>';
}
}
echo '</ul>';
0

По вопросам рекламы [email protected]