首页 > 解决方案 > 如何为json对象命名

问题描述

如何为 json 对象设置名称?

Map<String, ArrayList<String>> headerColumns = new LinkedHashMap<>();
headerColumns = gmailService.readMessgeAndProcess(session, MsgResponse, false, clientId);
JSONObject jsonObject = new JSONObject(headerColumns);

这里 jsonObject 返回这个输出

[{"name":"aaaa","price":1133.43},
{"name":"bbbb","price":967.45}]

我厌倦了使用jsonObject.put("products", jsonObject); 将名称设置为 jsonObject;但它不起作用。

预期的输出是

{"products": 
    [{"name":"aaaa","price":1133.43},
    {"name":"bbbb","price":967.45}]}

标签: javajson

解决方案


只是将数据嵌套到另一个 Map 中:

Map<String, ArrayList<String>> headerColumns = new LinkedHashMap<>();
Map<String, Object> products= new LinkedHashMap<>();
headerColumns = gmailService.readMessgeAndProcess(session, MsgResponse, false, clientId);
products.put("products", headerColumns)
JSONObject jsonObject = new JSONObject(products);

推荐阅读