有些人可以在我的代码中错误地帮助我:
public void request_Body_From_Data(String json, DataTable requestBody) throws Throwable {
List<Map<String, String>> body = requestBody.asMaps(String.class, String.class);
String converted_Json = convert_listmap_to_json_string(body);
printJson(converted_Json);
}
public String convert_listmap_to_json_string(List<Map<String, String>> map) {
JSONArray json_arr = new JSONArray();
for (Map<String, String> list : map) {
JSONObject json_obj = new JSONObject();
for (Map.Entry<String, String> entry : list.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
try {
if (key.equals("C")) {
break;
} else {
json_obj.put(key, value);
}
} catch (JSONException jsone) {
jsone.printStackTrace();
}
json_arr.put(json_obj);
}
}
return json_arr.toString();
}
问题:
我想将列表中的JSON转换为地图。
我正在阅读Cucumber功能文件列表。 功能文件如下所示:
| A | B | C |
| trade | test | ID |
| Code | 789 | ORDER|
我得到了json格式: [{ “B”: “测试”, “A”: “交易”},{ “B”: “测试”, “A”: “交易”}
预期结果应为:
"A": {
"trade": "test",
"Code": "789",
}
答案 0 :(得分:0)
使用杰克逊Library。你可以这样做: -
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT); // If pretty-print is required
System.out.println(mapper.writeValueAsString(body));