【问题标题】:JSON error on OrientDB ResultsOrientDB 结果上的 JSON 错误
【发布时间】:2016-02-04 17:27:29
【问题描述】:

我在尝试解析 JSON 结果时遇到错误。我的 http 字符串如下所示:

String query_str = "http://192.168.1.67:2480/query/GratefulDeadConcerts/sql/select%20name%20from%20V%20where%20name='BERTHA'";

应该是: 从 V 中选择名称,其中 name='BERTHA'

返回 查询结果:{"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: name 没有值

在 org.json.JSONObject.get(JSONObject.java:355) 在 org.json.JSONObject.getString(JSONObject.java:515)

我认为这意味着 JSON 对象找不到“名称”字段 在 JSON 字符串中。您可以在结果中看到名称字段。还有一些额外的字段。

OrientDB 2.1.9

谢谢

【问题讨论】:

    标签: orientdb


    【解决方案1】:

    试试这个代码

    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");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多