2014-10-25 3 views
0

У меня действительно глупый вопрос, но я не могу найти никакого ответа. У меня есть этот JSON из интернет погоды API, то JSON выглядит следующим образом:Как получить правильные значения из этого JSON?

{"coord":{"lon":4.4,"lat":51.22},"sys":{"type":1,"id":4839,"message":0.1065,"country":"Belgium","sunrise":1414218231,"sunset":1414254541},"weather":[{"id":701,"main":"Mist","description":"mist","icon":"50d"},{"id":310,"main":"Drizzle","description":"light intensity drizzle rain","icon":"09d"}],"base":"cmc stations","main":{"temp":286.3,"pressure":1019,"humidity":87,"temp_min":285.15,"temp_max":287.15},"wind":{"speed":3.1,"deg":210},"clouds":{"all":75},"dt":1414232888,"id":2803138,"name":"Antwerp","cod":200} 

Я хочу использовать эту JSON данные в хранилище данных инструмента Pentaho. Я застрял на том, как получить правильные значения.

Скажем, я хочу получить «страну», например, находящуюся внутри «sys». Как я могу его восстановить, используя обозначение знака доллара? Я пробовал $ .sys.country, но это не сработало. Я не уверен, как перевести эту структуру JSON на обозначение знака доллара.

Действительно надеюсь, что кто-то может помочь, спасибо заранее!

+0

Вы просматривали документы для хранилища данных, которые используете? Это похоже на то, что объясняет учебник. –

+0

Синтаксис JSONPath, который я использовал, был прав, но проблема с моим рабочим процессом была решена с помощью учебника! Я объяснил это ниже и дал полезные ссылки! Спасибо anyways;) –

+0

Перейдите на json.org и изучите синтаксис JSON. Это займет всего 5-10 минут. Затем, используя любой инструмент, который у вас есть, проанализируйте JSON во внутреннем представлении набора и аккуратно «разоберите» JSON, «разобрав» слой за раз. Распечатайте результаты на каждом шаге, чтобы вы поняли, что происходит. –

ответ

1

После нескольких серфинга и поиска в Интернете я нашел решение. Я не знал, но конкретный инструмент для хранения данных, который я использую (Pentaho), использует JSONPath (http://goessner.net/articles/JsonPath/ - это официальный сайт JSONPath, но Chrome дает мне предупреждение о вредоносном ПО по какой-то причине ...) для получения данных из JSON. Синтаксис, который я использовал в моем первоначальном вопросе $.sys.country, был прав, но проблема была в моем рабочем процессе Pentaho (шаг REST для получения JSON запускался более одного раза из-за числа, которое я не изменил). Итак, теперь все работает, и я могу получить ценности из JSON!

Ссылки я обнаружил, что решить мою проблему:

Надежда это может помочь другим людям с такая же проблема тоже!