Java 创建具有多个数据类型的json?
我有一个要求,我必须创建一个Json,如下所示Java 创建具有多个数据类型的json?,java,json,Java,Json,我有一个要求,我必须创建一个Json,如下所示 { "method": "Main", "executeTime": 4, "arguments": [ { "input": "input param" }, { "output": "output string" }
{
"method": "Main",
"executeTime": 4,
"arguments": [
{
"input": "input param"
},
{
"output": "output string"
}
],
"error": null
}
因为它里面有多种数据类型,所以我制作了一个哈希映射来将它们作为对象处理,然后我可以使用GSON.toJson()
来获得我所需要的。这是我的密码
HashMap<String, Object> firstLayer = new HashMap<String, Object>();
HashMap<String, Object> secLayer = new HashMap<String, Object>();
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
firstLayer.put("error", null);
firstLayer.put("method", <method String>);
firstLayer.put("executeTime", System.currentTimeMillis() - beginTime);
secLayer.put("input", <input param string>);
list.add(secLayer);
secLayer = new HashMap<String, Object>();
secLayer.put("output", <output string>);
list.add(secLayer);
// JIT pops error here. This is unexpected.
firstLayer.add("arguments", list);
HashMap firstLayer=newhashmap();
HashMap secLayer=新HashMap();
列表=新的ArrayList();
firstLayer.put(“错误”,null);
第一层。放置(“方法”);
put(“executeTime”,System.currentTimeMillis()-beginTime);
secLayer.put(“输入”,);
列表。添加(secLayer);
secLayer=newhashmap();
secLayer.put(“输出”);
列表。添加(secLayer);
//JIT在这里弹出错误。这是出乎意料的。
添加(“参数”,列表);
错误消息say:
类型HashMap的add(String,List)方法未定义。甚至尝试使用cast-likefirstLayer.add(“参数”,(对象)列表)代码>但它仍然不正确。是否还有其他选项或演练?我搞错了,它不是firstLayer.add(“参数”,列表)代码>但是firstLayer.put(“参数”,列表)代码>
我想我今天工作太努力了。谢谢#tevemadar消息是正确的,就像您在所有其他行中使用firstLayer.put()
一样,单个firstLayer.add()
尝试也应该是firstLayer.put()
。@tevemadar哇,我使用了错误的函数?也许我今天工作太辛苦了。谢谢