Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建具有多个数据类型的json?_Java_Json - Fatal编程技术网

Java 创建具有多个数据类型的json?

Java 创建具有多个数据类型的json?,java,json,Java,Json,我有一个要求,我必须创建一个Json,如下所示 { "method": "Main", "executeTime": 4, "arguments": [ { "input": "input param" }, { "output": "output string" }

我有一个要求,我必须创建一个Json,如下所示

{
  "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-like
firstLayer.add(“参数”,(对象)列表)但它仍然不正确。是否还有其他选项或演练?

我搞错了,它不是
firstLayer.add(“参数”,列表)但是
firstLayer.put(“参数”,列表)


我想我今天工作太努力了。谢谢#tevemadar

消息是正确的,就像您在所有其他行中使用
firstLayer.put()
一样,单个
firstLayer.add()
尝试也应该是
firstLayer.put()
。@tevemadar哇,我使用了错误的函数?也许我今天工作太辛苦了。谢谢