Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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_Jackson Databind_Fasterxml - Fatal编程技术网

Java 创建包含数组数组的json响应

Java 创建包含数组数组的json响应,java,jackson-databind,fasterxml,Java,Jackson Databind,Fasterxml,需要答复 { "data" : [[1234, 55],[1264,45],[1334, 56]] } 模型 类时间序列{ 私人名单数据; } 我觉得List of List不适合获得所需的json响应。。但我无法用List替换它,其中CustomObject将包含2个整数成员变量。因为它将更改响应的格式,并将响应作为包含CustomObject类型的对象列表而不是list of list的数据发送 请建议另一种方法您可以这样尝试 class CustomObject { pri

需要答复

{
  "data" : [[1234, 55],[1264,45],[1334, 56]]
}
模型

类时间序列{
私人名单数据;
}
我觉得List of List不适合获得所需的json响应。。但我无法用List替换它,其中CustomObject将包含2个整数成员变量。因为它将更改响应的格式,并将响应作为包含CustomObject类型的对象列表而不是list of list的数据发送

请建议另一种方法

您可以这样尝试

class CustomObject {
    private int data1;
    private int data2;
    // getters & setters
}
然后您可以修改您的时间序列,如下所示:

private List<CustomObject> data;
私有列表数据;

获得所需输出的最简单方法是

class data extends ArrayList<List<Integer>> {
}
输出字符串将是您需要的
{“数据”:[[1234,55],[1264,45],[1334,56]}

但是,说真的,正确的方法是实施

class Timeseries {
    private List<List<Integer>> data;
}
注意
data
字段必须是
public
或具有getter

然后编码

Timeseries ts = new Timeseries();
ts.data = Arrays.asList(Arrays.asList(1234, 55), Arrays.asList(1264, 45), Arrays.asList(1334, 56));

ObjectMapper objectMapper = new ObjectMapper();
String result = objectMapper.writeValueAsString(ts);
System.out.println(result);

将打印
{“数据”:[[1234,55],[1264,45],[1334,56]}
您可以使用大小为2的数组列表。

列表列表有什么问题吗?这不会让您得到
[{…},{…},][/code>,而不是想要的吗?
class Timeseries {
    private List<List<Integer>> data;
}
class Timeseries {
   public List<List<Integer>> data;
}
Timeseries ts = new Timeseries();
ts.data = Arrays.asList(Arrays.asList(1234, 55), Arrays.asList(1264, 45), Arrays.asList(1334, 56));

ObjectMapper objectMapper = new ObjectMapper();
String result = objectMapper.writeValueAsString(ts);
System.out.println(result);