#arrays #json
#массивы #json
Вопрос:
У меня есть следующий json :
{
"users":
[{
"user":
{
"user_id" :"a11uhk22hsd3jbskj",
"username" :"tom",
"location" : null
}
}]
}
Я получаю этот json в ответ на запрос к api. Глядя на документ для этого api, местоположение должно быть массивом (содержащим геоданные, адрес широты, долготы и т.д.).
Теперь вопрос в том, есть ли ошибка в json? Я имею в виду, что location, по-моему, не является массивом, или возможно таким образом представить нулевой массив? и если да, то в чем разница между :
"location" : null
"location" : []
Ответ №1:
"location" : null // this is not really an array it's a null object
"location" : [] // this is an empty array
Похоже, что этот API возвращает null, когда местоположение не определено — вместо возврата пустого массива, что на самом деле не так уж необычно, — но они должны сообщить вам, собираются ли они это делать.
Комментарии:
1. Привет, как проверить наличие пустого массива??
Ответ №2:
null
является допустимым значением (и зарезервированным словом) в JSON, но некоторые среды не имеют «нулевого» объекта (в отличие от NULL
значения) и, следовательно, не могут точно представлять JSON null
. Поэтому они иногда будут представлять его как пустой массив.
Является ли null
допустимым значением в этом конкретном элементе этого конкретного API, полностью зависит от разработчика API.
Ответ №3:
Первая версия представляет собой нулевой объект, в то время как вторая представляет собой объект массива с нулевыми элементами.
Здесь Null может означать, например, что для этого пользователя недоступно местоположение, местоположение не было запрошено или что применяются некоторые ограничения. Сложно сказать без ссылки на API.