我有一份 RequestBodyObject
,类似于:
List<RequestBodyObject> body = new ArrayList<>();
``` `RequestBodyObject` 是这样的:
Map<String, String> requestBodyElements;
我正在创建如下的hashmap:
HashMap<String, Object> params = new HashMap<>();
Map<String, String> requestBodyElements = new HashMap<>();
List<RequestBodyObject> body = new ArrayList<>();
requestBodyElements.put("xyz", "abc");
requestBodyElements.put("def", "pqr");
RequestBodyObject requestBodyObject = new RequestBodyObject();
requestBodyObject.setRequestBodyElements(requestBodyElements);
body.add(requestBodyObject);
params.put("key1", body);
params.put("key2", "value2");
现在我想将其转换为jsonobject,以作为 `REST` 呼叫
我正试图做这样的事情,但无法通过Map作为一个列表
private static JSONObject getJsonFromMap(Map<String, Object> map) throws JSONException {
JSONObject jsonData = new JSONObject();
for (String key : map.keySet()) {
Object value = map.get(key);
if (value instanceof Map) {
value = getJsonFromMap((Map<String, Object>) value);
}
jsonData.put(key, value);
}
return jsonData;
}
所需的jsonobject是:
{
"format":"HTML",
"requestBodyElements":[
{
"abc":"zyv",
"def":"ghi"
}]
}
我的功能可以使它像:
{
"format":"HTML",
"requestBodyElements":
{
"abc":"zyv",
"def":"ghi"
}
}
我需要改变信仰 `requestBodyElements` 到元素数组中。非常感谢您的帮助
1条答案
按热度按时间6ojccjat1#
有一个类jsonarray可以用来表示数组
[]
json值。我想你可以考虑用它。代码可以如下所示: