我有以下視圖無法檢索JSON值
{
"views" : {
"categories" : {
"map" : "function (doc) { emit(doc._id,{"title":doc.title,"parentnode":doc.parentnode});}"
}
}
}
即,對於每個文件,返回一個JSON對象,具有兩個密鑰:title
和parentnode
與它們各自的值。視圖運行在cloudant UI
{
"id": "3bacce314363eb954f1922ff3cd2240c",
"key": "3bacce314363eb954f1922ff3cd2240c",
"value": {
"title": "poi",
"parentnode": "asd"
},
"_id": "3bacce314363eb954f1922ff3cd2240c"
}
這是完美就好了。現在,我嘗試在我的Java程序作爲
List<JSONObject> vals = cloudant.getViewRequestBuilder("categoryDesign", "categories")
.newRequest(com.cloudant.client.api.views.Key.Type.STRING, JSONObject.class)
.includeDocs(true)
.build()
.getResponse()
.getValues();
注意JSONObject
在這種情況下org.json.JSONObject;
閱讀本。但是,爲了這個,我得到
[{}]
所以後來我改變了看法有點
{
"views" : {
"categories" : {
"map" : "function (doc) { emit(doc._id,doc.title+":"+doc.parentnode);}"
}
}
}
,並在cloudant UI我看到
{
"id": "9db1f03e8f4d239a6e18d4612b1a4275",
"key": "9db1f03e8f4d239a6e18d4612b1a4275",
"value": "poi:asd",
"_id": "9db1f03e8f4d239a6e18d4612b1a4275"
}
,現在我做
List<String> vals = cloudant.getViewRequestBuilder("categoryDesign", "categories")
.newRequest(com.cloudant.client.api.views.Key.Type.STRING, String.class)
.includeDocs(true)
.build()
.getResponse()
.getValues();
現在,輸出是
["poi:asd"]
我能做些什麼來讀取值爲JSONObject
s?
跟進:如何從視圖的輸出中刪除重複項?
謝謝!那工作。關於後續的任何想法? – AbtPst
查看最新答案 – markwatsonatx
非常感謝!這樣可行 – AbtPst