Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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:将密钥标识符添加到JsonArray_Java_Json_Jackson - Fatal编程技术网

Java Jackson:将密钥标识符添加到JsonArray

Java Jackson:将密钥标识符添加到JsonArray,java,json,jackson,Java,Json,Jackson,我在jackson的帮助下创建了JsonArray,我正在尝试将一个键map_data添加到带支架的JsonArray中,以将其作为对Android应用程序的响应发送。如何将其添加到JsonArray 我感谢任何帮助 { "map_data": [ {"route": 2, "latitude": 89.667781, "longitude": 13.517741}, {"route": 7, "latit

我在jackson的帮助下创建了JsonArray,我正在尝试将一个键
map_data
添加到带支架的JsonArray中,以将其作为对Android应用程序的响应发送。如何将其添加到JsonArray

我感谢任何帮助

{
  "map_data":
             [
               {"route": 2, "latitude": 89.667781, "longitude": 13.517741},
               {"route": 7, "latitude": 89.657772, "longitude": 13.537742},
               {"route": 9, "latitude": 89.647763, "longitude": 13.547754},
               {"route": 12, "latitude":89.637754, "longitude": 13.567765}
              ]

}
代码:

        Database db = new Database();
        List<MapData> lrl = db.get_map_data(selected);

        try {
            ObjectWriter ow = new ObjectMapper().writer()
                    .withDefaultPrettyPrinter();
            String json = ow.writeValueAsString(lrl);

            System.out.println("The output of json: " + json);
}
Database db=new Database();
列表lrl=db.获取地图数据(选中);
试一试{
ObjectWriter ow=新的ObjectMapper().writer()
.withDefaultPrettyPrinter();
字符串json=ow.writeValueAsString(lrl);
System.out.println(“json的输出:“+json”);
}
您可以使用提供根目录名

用于构造具有以下配置的新实例的方法 指定用于“根元素包装”的根名称

比如说,

String json = ow.withRootName("map_data").writeValueAsString(lrl);

因此,您需要一个JSON对象,其中包含一个名为map_data的数组类型字段。这就是您应该序列化的内容,而不仅仅是序列化列表:

public class SomeClass {
    @JsonProperty("map_data")
    private List<MapData> mapData;

    // getters and setters omitted for brevity
}
公共类SomeClass{
@JsonProperty(“地图数据”)
私有列表数据;
//为简洁起见省略了getter和setter
}

我有一个简单的问题。我需要在客户端添加用于解析purspose的密钥吗?还是我真的不需要它?因为密钥现在是JSON的一部分,客户端的解析器需要知道它。不,它不是我的JSON的一部分,我想我必须添加它,正如我所说的,以简化客户端的解析。