我有一个非常愚蠢的问题,但我似乎无法找到任何答案。我有一个来自在线天气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}
我想在数据仓库工具Pentaho中使用这个JSON数据。我不知道如何获得正确的价值观。
说我想要检索" country"例如,它位于" sys"内。我如何使用美元符号表示法检索它?我试过$ .sys.country但是没有用。我不确定如何将此JSON结构转换为美元符号表示法。
真的希望有人可以提前帮助!
答案 0 :(得分:1)
经过一些冲浪和谷歌搜索,我找到了解决方案。我不知道,但我使用的特定数据仓库工具(Pentaho)使用JSONPath(http://goessner.net/articles/JsonPath/ - 它是官方的JSONPath网站,但Chrome由于某种原因给了我恶意软件警告...... )从JSON中获取数据。我在原始问题$.sys.country
中使用的语法是正确的,我的Pentaho工作流程中只有一个问题(由于我没有使用的数字,因此获取JSON的REST步骤不止一次更改)。所以现在一切正常,我可以从JSON中获取价值!
链接我发现解决了我的问题:
http://woodlouse.blogspot.fr/2013/02/how-to-create-pentaho-report-using-rest.html
http://jsonpath.curiousconcept.com/(非常方便的JSONPath Expression 测试员我找到了)
希望这也可以帮助其他人解决同样的问题!