JSON OrientDB 结果错误
JSON error on OrientDB Results
我在尝试解析 JSON 结果时遇到错误。我的 http 字符串如下所示:
字符串query_str = "http://192.168.1.67:2480/query/GratefulDeadConcerts/sql/select%20name%20from%20V%20where%20name='BERTHA'";
应该读作:
select 来自 V 的名字 where name='BERTHA'
这个returns
查询结果:{"result":[{"@type":"d","@rid":"#-2:0","@version":0,"name":"BERTHA"}]}
我的解析代码如下所示:
try {
Logging.log ("parseContent", "Entered in parseContent");
JSONObject jsonData = new JSONObject(contentStr);
JSONArray itemsArray = jsonData.getJSONArray(DEAD_result);
Logging.log("parseContent", "After object Creation ");
for(int i=0; i<itemsArray.length(); i++) {
Logging.log("parseContent", "Before name parse ");
String name = jsonData.getString(DEAD_SONG_NAME);
String song_type = jsonData.getString(DEAD_SONG_TYPE);
String type = jsonData.getString(DEAD_TYPE);
String performances =jsonData.getString(DEAD_PERFORMANCES);
}
我收到错误:
org.json.JSONException: 名称没有值
在 org.json.JSONObject.get(JSONObject.java:355)
在 org.json.JSONObject.get 字符串 (JSONObject.java:515)
我认为这意味着 JSON 对象找不到 'name' 字段
在 JSON 字符串中。您可以在结果中看到名称字段。还有一些额外的字段。
OrientDB 2.1.9
谢谢
尝试使用此代码
String contentStr="{'result':[{'@type':'d','@rid':'#-2:0','@version':0,'name':'BERTHA'}]}";
try {
JSONObject jsonData = new JSONObject(contentStr);
JSONArray itemsArray = jsonData.getJSONArray("result");
for(int i=0; i<itemsArray.length(); i++) {
JSONObject jsonObject = itemsArray.getJSONObject(i);
String name= jsonObject.getString("name");
}
}
我在尝试解析 JSON 结果时遇到错误。我的 http 字符串如下所示:
字符串query_str = "http://192.168.1.67:2480/query/GratefulDeadConcerts/sql/select%20name%20from%20V%20where%20name='BERTHA'";
应该读作: select 来自 V 的名字 where name='BERTHA'
这个returns 查询结果:{"result":[{"@type":"d","@rid":"#-2:0","@version":0,"name":"BERTHA"}]}
我的解析代码如下所示:
try {
Logging.log ("parseContent", "Entered in parseContent");
JSONObject jsonData = new JSONObject(contentStr);
JSONArray itemsArray = jsonData.getJSONArray(DEAD_result);
Logging.log("parseContent", "After object Creation ");
for(int i=0; i<itemsArray.length(); i++) {
Logging.log("parseContent", "Before name parse ");
String name = jsonData.getString(DEAD_SONG_NAME);
String song_type = jsonData.getString(DEAD_SONG_TYPE);
String type = jsonData.getString(DEAD_TYPE);
String performances =jsonData.getString(DEAD_PERFORMANCES);
}
我收到错误:
org.json.JSONException: 名称没有值
在 org.json.JSONObject.get(JSONObject.java:355) 在 org.json.JSONObject.get 字符串 (JSONObject.java:515)
我认为这意味着 JSON 对象找不到 'name' 字段 在 JSON 字符串中。您可以在结果中看到名称字段。还有一些额外的字段。
OrientDB 2.1.9
谢谢
尝试使用此代码
String contentStr="{'result':[{'@type':'d','@rid':'#-2:0','@version':0,'name':'BERTHA'}]}";
try {
JSONObject jsonData = new JSONObject(contentStr);
JSONArray itemsArray = jsonData.getJSONArray("result");
for(int i=0; i<itemsArray.length(); i++) {
JSONObject jsonObject = itemsArray.getJSONObject(i);
String name= jsonObject.getString("name");
}
}