【问题标题】:Issue initializing a JSONObject初始化 JSONObject 的问题
【发布时间】:2011-05-19 16:46:30
【问题描述】:

我正在尝试使用从 Web 服务接收到的以下字符串初始化 JSONObject:

"{
    "campaignid": "8",
    "campaignname": "Pilotarienak 2011",
    "campaignlink": "http:\\/\\/www.xxx.com\\/fr\\/cote-basque\\/agenda\\/2011-05-20\\/FMAAQU064FS016DV-pilotarienak-d-anglet?fromapp",
    "splash": "http:\\/\\/www.xxx.com\\/ads\\/customers\\/pilotarienak\\/320x480.jpg",
    "banner": "http:\\/\\/www.xxx.com\\/ads\\/customers\\/pilotarienak\\/320x160.jpg"
}"

它似乎是有效的 json(它在 jsonlint.com 中验证),但是当我用它初始化一个 JSONObject 时:

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject

有人可以帮忙吗?

谢谢

【问题讨论】:

    标签: android json


    【解决方案1】:

    似乎您正试图从带有额外引号的字符串中实例化它。您需要删除包装引号(我没有使用您的字符串,但举个例子使其更清楚):

    没关系:

    String jStr= "{\"param1\":\"hello\"}";
    JSONObject jObj = new JSONObject(jStr);
    

    这不是:

    String jStr= "\"{\"param1\":\"hello\"}\"";
    //  note this ^^             and this ^^ 
    JSONObject jObj = new JSONObject(jStr);
    

    【讨论】:

      【解决方案2】:

      尝试以简化模式重写所有内容(仅用于测试)。我认为您输入了一些无效字符。

      【讨论】:

        【解决方案3】:

        尝试删除所有“\”字符

        【讨论】:

          猜你喜欢
          • 2015-08-31
          • 1970-01-01
          • 2020-12-25
          • 2012-02-03
          • 1970-01-01
          • 2011-10-13
          • 2011-10-29
          • 2020-10-17
          • 2020-09-24
          相关资源
          最近更新 更多