【问题标题】:Convert Array of key=value String to JSON in JAVA在 JAVA 中将 key=value 字符串数组转换为 JSON
【发布时间】:2020-06-29 04:12:27
【问题描述】:

我有多个数组键值字符串

例如:

    {
  filters=[
    {
      eventConfig={
        success=1.0,
        bgColor=#27AE60,
        successText=Yes
      },
      prid=9.0,
      name=abc,
      prqt=1.0,
      price=199.89
    },
    {
      eventConfig={
        success=1.0,
        bgColor=#27AE60,
        successText=Yes
      },
      name=abc,
      prid=10.0,
      price=99.89,
      prqt=1.0
    },
    {
      eventConfig={
        success=0.0,
        bgColor=#C0392B,
        successText=No
      },
      name=internet,
      prid=11.0,
      price=299.89,
      prqt=1.0
    },
    {
      eventConfig={
        success=0.0,
        bgColor=#C0392B,
        successText=No
      },
      name=intermission,
      prid=11.0,
      price=299.89,
      prqt=1.0
    }
  ]
}

我正在尝试转换为 json 字符串,但转换时出错

我需要输出为

{
  "filters": [
    {
      "eventConfig": {
        "success": 1,
        "bgColor": "#27AE60",
        "successText": "Yes"
      },
      "prid": 9,
      "name": "abc",
      "prqt": 1,
      "price": 199.89
    },
    {
      "eventConfig": {
        "success": 1,
        "bgColor": "#27AE60",
        "successText": "Yes"
      },
      "name": "abc",
      "prid": 10,
      "price": 99.89,
      "prqt": 1
    },
    {
      "eventConfig": {
        "success": 0,
        "bgColor": "#C0392B",
        "successText": "No"
      },
      "name": "internet",
      "prid": 11,
      "price": 299.89,
      "prqt": 1
    },
    {
      "eventConfig": {
        "success": 0,
        "bgColor": "#C0392B",
        "successText": "No"
      },
      "name": "intermission",
      "prid": 11,
      "price": 299.89,
      "prqt": 1
    }
  ]
}

【问题讨论】:

  • 转换时遇到什么错误?
  • 格式错误的 json 异常
  • 发布您尝试将其转换为 json 字符串的代码
  • 尝试 { JSONObject jsonObject = new JSONObject(KEY_VALUE_STRING); } catch (JSONException e) { e.printStackTrace(); }

标签: java android json parsing


【解决方案1】:

请使用以下代码 sn-p 解析此响应。

 try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray filtersArray = jsonObject.getJSONArray("filters");
            for (int i = 0; i < filtersArray.length(); i++) {
                //Parsing eventConfig object
                JSONObject eventConfigObject = filtersArray.getJSONObject(i).getJSONObject("eventConfig");
                int success = eventConfigObject.getInt("success");
                String bgColor = eventConfigObject.getString("bgColor");
                String successText = eventConfigObject.getString("successText");

                //Parsing other objects
                int prid = filtersArray.getJSONObject(i).getInt("prid");
                String name = filtersArray.getJSONObject(i).getString("name");
                int prqt = filtersArray.getJSONObject(i).getInt("prqt");
                int price = filtersArray.getJSONObject(i).getInt("price");

            }

        } catch (Exception e) {
            e.printStackTrace();
        }

编码愉快!!谢谢..!

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2014-04-23
    相关资源
    最近更新 更多