在 JAVA 中将 key=value 字符串数组转换为 JSON
Posted
技术标签:
【中文标题】在 JAVA 中将 key=value 字符串数组转换为 JSON【英文标题】:Convert Array of key=value String to JSON in JAVA 【发布时间】: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(); 【参考方案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();
编码愉快!!谢谢..!
【讨论】:
以上是关于在 JAVA 中将 key=value 字符串数组转换为 JSON的主要内容,如果未能解决你的问题,请参考以下文章
在 TypeScript 中将枚举结构 value:key 转换为 key:value
如何在 jq 中将 JSON 对象转换为 key=value 格式?