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 Jackson-LIb-JsonArray格式_Java_Json_Jackson - Fatal编程技术网

Java Jackson-LIb-JsonArray格式

Java Jackson-LIb-JsonArray格式,java,json,jackson,Java,Json,Jackson,我使用jackson lib将json对象添加到jsonarray中,然后将jsonarray字符串化,将其作为字符串保存到a表中 JsonObject obj = new JsonObject(); obj.put("id",1).put("data","test"); JsonArray arr = new JsonArray(); arr.add(obj); arr.toString(); //out : [{"map":{"id":1,"data":"test"},"empty":

我使用jackson lib将json对象添加到jsonarray中,然后将jsonarray字符串化,将其作为字符串保存到a表中

JsonObject obj = new JsonObject();
obj.put("id",1).put("data","test");

JsonArray arr = new JsonArray();
arr.add(obj);

arr.toString();

//out : [{"map":{"id":1,"data":"test"},"empty":false}]

//result wanted : [{"id":1,"data":"test"}]

那么,在没有map和空键的情况下,我如何才能得到最后一个结果呢?为什么它会首先添加这些键呢?

我对代码做了一些小改动,我使用了以下maven依赖项,您使用的是org.json,而不是jackson

JSONObject obj = new JSONObject();
            try {
                obj.put("id",1).put("data","test");
        } catch (JSONException e1) {

            e1.printStackTrace();
        }

        JSONArray arr = new JSONArray();
        arr.put(obj);

        System.out.println(arr.toString());

输出:[{“data”:“test”,“id”:1}]

好的,最后我得到了它。因此,jackson模块的文档清楚地显示了应该如何对
JsonObject
进行序列化。它不是使用
toString()

序列化(JsonElement->String)


您使用的是哪种杰克逊版本?@ΦXocę웃Пepeúpaツ 2.8.4您使用的不是Jackson,而是org。json@Sharon不,org.json使用的是
JSONObject
(大写json)好吧,Jackson使用的是JsonNode,ObjectNode但不是JSONObject您使用的是org.json。。。问题是notAs@cricket_007说我用的是jackson lib而不是org。json@azelix你真的是在用VertX包装Jackson。
ObjectMapper mapper = new ObjectMapper();
om.registerModule(new VertxJsonModule());

String jsonObject = mapper.writeValueAsString(new JsonObject());

String jsonArray = mapper.writeValueAsString(new JsonArray());