【问题标题】:parsing json in android [duplicate]在android中解析json [重复]
【发布时间】:2013-01-15 06:46:38
【问题描述】:

可能重复:
Reading a Json Array in android

我的 json 字符串是这样的

字符串 jsonString = "[{"NotificationID":115,"TaskID":129,"Sender":"v...@live.com","NotificatonMessage":"dd","NotificationCategory":"missed"},{"NotificationID ":114,"TaskID":129,"Sender":"v...@live.com","NotificatonMessage":"129","NotificationCategory":"opened"},{"NotificationID":112," TaskID":129,"Sender":"v...@live.com","NotificatonMessage":"dd","NotificationCategory":"missed"},{"NotificationID":111,"TaskID":129, "发件人":"d...@hotmail.com","NotificatonMessage":"你 已分配任务 Bydip_shres@hotmail.com","NotificationCategory":"notify"},{"NotificationID":72,"TaskID":125,"Sender":"d...@yahoo.com","NotificatonMessage":"你 已分配任务 Byd.stha1st@yahoo.com","NotificationCategory":"notify"}]";

我想把它转换成 jsonobject。我正在这样做..

jsonObject = new JSONObject(jsonString);

但它会抛出 JSONException ......我怎样才能将这样的字符串转换为 jsonarray ?

【问题讨论】:

  • 什么异常?更具体。
  • JSONArray obj = new JSONArray(jsonString);
  • JSON 字符串是 JSONArray。请参考this solution查看您的问题的解决方案。

标签: java android json


【解决方案1】:

使用此代码并了解更多信息JSONParsing 请参阅此Link

它会帮助你JSON parsing

 try
    {
        JSONArray jArray = new JSONArray(jsonString);

        for(int i=0;i<jArray.length();i++)
        {
           JSONObject jsonObj = jArray.getJSONObject(i);

           String NotificationID =jsonObj.getString("NotificationID");
           String TaskID=jsonObj.getString("TaskID");
           String Sender=jsonObj.getString("Sender");
           String NotificatonMessage=jsonObj.getString("NotificatonMessage"); 
           String NotificationCategory=jsonObj.getString("NotificationCategory"); 

        }
    }
    catch(JSONException e)
    {
        Log.e("log_tag", "Error parsing data "+e.toString());
    }

【讨论】:

    【解决方案2】:

    你得到了一个数组:

    JSONArray arr = new JSONArray( jsonString );
    

    【讨论】:

      【解决方案3】:

      你有一个 JSON 数组而不是一个 JSON 对象。

      JSON 对象必须在字符 1 处以 { 开头并以 } 结尾,而 JSONArray 文本必须在字符 1 处以 '[' 开头并以 ] 结尾。

      您可以使用

      获取 JSON 数组
      JSONArray obj = new JSONArray(jsonString);
      

      【讨论】:

        【解决方案4】:

        嗯,

        you need to extract jsonArray directly by 
        
            JSONArray array=new JSONArray(jsonString);
        

        然后您可以使用 for 循环或任何您想采用的方法遍历数组。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-12
          • 1970-01-01
          • 2020-08-04
          • 2017-02-11
          • 2018-04-12
          • 1970-01-01
          • 2011-12-31
          相关资源
          最近更新 更多