Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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字符串: [{"param1":"value1","param2":"value2"},{"param1":"value3","param2":"value4"}] ["{param1:value1,param2:value2}", "{param1:value3,param2:value4}"] 我尝试以以下方式存储数据: JSONArray jsonArray = JSONArray(); HashMap<String, String> hmap

我需要以以下格式生成JSON字符串:

[{"param1":"value1","param2":"value2"},{"param1":"value3","param2":"value4"}]
["{param1:value1,param2:value2}", "{param1:value3,param2:value4}"]
我尝试以以下方式存储数据:

JSONArray jsonArray = JSONArray();

HashMap<String, String> hmap = new HashMap<String, String>();
hmap.put("param1", "value1");
hmap.put("param2", "value2");
jsonArray.add(hmap);

hmap = new HashMap<String, String>();
hmap.put("param1", "value3");
hmap.put("param2", "value4");
jsonArray.add(hmap);

System.out.print(jsonArray.toString());

需要进行哪些更改才能将字符串设置为所需格式?

这应该可以。使用JSONObject而不是映射,并将它们添加到JSONArray

JSONArray jsonArray = new JSONArray();

JSONObject jsonObject1= new JSONObject();
JSONObject jsonObject2= new JSONObject();

jsonObject1.put("param1", "value1");
jsonObject1.put("param2", "value2");
jsonArray.add(jsonObject1);


jsonObject2.put("param1", "value3");
jsonObject2.put("param2", "value4");
jsonArray.add(jsonObject2);

System.out.print(jsonArray.toString());

我建议使用第三方库(如XStream)作为更好的替代方案,它为您提供服务。

使用抛弃,它将完全满足您的需求

导入org.codehaus.jettison.json.JSONArray

公共类JSONPrintTest扩展了TestCase{

public void testPrinting(){
    JSONArray jsonArray = new JSONArray();

    HashMap<String, String> hmap = new HashMap<String, String>();
    hmap.put("param1", "value1");
    hmap.put("param2", "value2");
    jsonArray.put(hmap);

    hmap = new HashMap<String, String>();
    hmap.put("param1", "value3");
    hmap.put("param2", "value4");
    jsonArray.put(hmap);

    System.out.print(jsonArray.toString());
}
public void testPrinting(){
JSONArray JSONArray=新的JSONArray();
HashMap hmap=新的HashMap();
hmap.put(“参数1”、“值1”);
hmap.put(“参数2”、“值2”);
jsonArray.put(hmap);
hmap=新的HashMap();
hmap.put(“参数1”、“值3”);
hmap.put(“参数2”、“值4”);
jsonArray.put(hmap);
System.out.print(jsonArray.toString());
}
}

输出: [{“param1”:“value1”,“param2”:“value2”},{“param1”:“value3”,“param2”:“value4”}]

+