Это означает, что указанная переменная не указана ни на что. Я мог бы сгенерировать это так:
SqlConnection connection = null;
connection.Open();
Это вызовет ошибку, потому что, пока я объявил переменную «connection
», она не указала ни на что. Когда я пытаюсь вызвать член «Open
», для его устранения нет ссылки, и он будет вызывать ошибку.
Чтобы избежать этой ошибки:
object == null
. Инструмент Resharper JetBrains определит каждое место в вашем коде, которое имеет возможность ошибки нулевой ссылки, позволяя вам ввести нулевую проверку. Эта ошибка является источником ошибок номер один, IMHO.
Ваш JSON - это сочетание массивов и объектов . Таким образом, нотация массива не будет работать для всех элементов. Например, чтобы найти использование бренда:
foreach ($json->items as $item) {
var_dump($item->product->brand);
}
Если бы я был вами, я бы разбирал JSON как массив, а не как объект. Это можно сделать, выполнив следующие действия:
$json = json_decode($data, true);
Включив второй аргумент в json_decode со значением true, вы возвращаете массив. Затем вы можете сделать что-то вроде:
echo '<pre>';
print_r($json);
exit;
Это даст вам представление о структуре массива данных и о том, как получить доступ к необходимой вам информации. Например, чтобы вытащить заголовок, бренд и описание каждого элемента, вы должны сделать следующее:
foreach($json['items'] as $item) {
echo 'Title: ' . $item['product']['title'] . '<br />';
echo 'Brand: ' . $item['product']['brand'] . '<br />';
echo 'Description: ' . $item['product']['description'] . '<br />';
}
Чтобы получить доступность, снова сделайте дамп массива с помощью print_r () и выяснить лучший способ доступа к нему из массива.
Это не проблема JSON. Вам просто нужно пересечь массивы. Простой print_r($json);
покажет вам структуру.
В вашем случае вам, вероятно, понадобится:
foreach ($json["items"] as $item) {
foreach ($item["product"] as $key => $value) {
echo $key . " : " . $value;
}
}
Первый цикл foreach по списку элементов , И второй доступ подкачки ["product"]
приведет вас к желаемым атрибутам.
Мы можем разбирать JSON Array следующим образом:
<?php
$json = "[{\"name\":\"user1\",\"id\":\"940\"},{\"name\":\"user2\",\"id\":\"949\"}]";
$dec = json_decode($json);
for($idx = 0; $idx < count($dec); $idx++){
$obj = (Array)$dec[$idx];
echo $obj["name"];
}
?>
и аналогично JSON Object, подобный этому,
<?php
$json = "{\"name\":\"user1\",\"id\":\"940\"}";
$dec = (Array)json_decode($json);
echo $dec["name"];
?>
Вы можете использовать этот парсер json для просмотра вашего контента в правильном формате.
Вы можете использовать этот код:
$json = json_decode($url,true);
//you can retrieve kind, tag, id by using
$kind = $json['kind'];
$id = $json['id'];
Здесь элементы сам будет иметь массив, который вы можете использовать
$items[] = $json['items'];
// you can retrieve the data inside the kind array
$kind_arr = $json['items'][0][]['kind'];
//similarly you can parse all the data
$json = '{ "a1":{ "field1":"name1", "field2":age1, "field3":"country1"
},
"a2":{ "field1":"name2", "field2":age2, "field3":"country2" },
"a3":{ "field1":"name3", "field2":age3, "field3":"country3" } }';
$Array = json_decode($json, true);
foreach ($Array as $key => $value)
{
echo " $key ";
foreach ($value as $k => $val)
{
echo "$k | $val <br />";
}
}