最後我想出瞭如何去做。對於使用沃森SDK的Java任何人想要一個解決方案,這裏是我的:
Profile profile = service.getProfile(secondArray).execute();
String textProfile = profile.toString();
Object document = Configuration.defaultConfiguration().jsonProvider().parse(textProfile);
String nameWatson = JsonPath.read(document, "$.personality[0].name");
Double percentWatson = JsonPath.read(document, "$.personality[0].percentile");
這是通過使用JayWay JSONPath庫,添加到Maven有:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.2.0</version>
</dependency>
的Java的第一行執行沃森查詢並以默認JSON格式將其存儲在配置文件對象中作爲配置文件。接下來將其轉換爲字符串並將其存儲爲textProfile。下一行使用jsonpath庫將現在轉換的配置文件存儲爲jsonpath庫可通過textProfile變量讀取的內容。倒數第二行,然後遍歷Watson JSON佈局的層次結構,將名稱的第一個實例作爲nameWatson存儲在個性部分下,同樣的想法應用於下一行。如果您遇到問題,請打印配置文件變量進行屏幕顯示,並將其保存到文本文件中以便稍後參考,並在將代碼實施到代碼之前使用this進行測試。請注意,使用任何修飾符(如「..」)將拋出一個錯誤,除非放入列表中,所以請確保使用明確的引用(請參閱jsonpath github上的更多內容)
歡迎來到Stack Overflow!請查看我們的[SO問題清單](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)來幫助你提出一個好問題,從而得到一個很好的答案。 –
你的問題太含糊。我們可以回答的是,JSONObject的API文檔中描述了從JSONObject中提取信息的方式。你讀過了嗎?你有嘗試過什麼嗎? –
我試着用org.json和gson做任何事情,但它太混亂了,最終太複雜了。我在下面發佈了我的工作代碼,並最終使用jsonpath作爲我的選擇庫! – Jako81624