簡體   English   中英

如何將數組轉換為 Json (Java)

[英]How can I convert an Array to Json (Java)

我想將數組轉換為 Json 對象,例如

String[] array = {"value1", "value2"};

進入

{
  "array": ["value1", "value2"]
}

我正在使用 Spring (Jackson XML)。

我試過:

ObjectMapper objectMapper = new ObjectMapper();
ObjectNode jsonNode = objectMapper.createObjectNode();

String[] array = {"value1", "value2"};
jsonNode.put("array", Arrays.toString(array));

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

但結果是

{
  "array":"[value1, value2]"
}

並不是

{
  "array":["value1", "value2"]
}

我想得到什么。

您正在將字符串Array轉換為字符串並將其添加到 json 對象

String[] array = {"value1", "value2"};
String arr = Arrays.toString(array)   //converting array into string

只需使用putArray將數組直接添加到ObjectNode

ArrayNode arrayNode = jsonNode.putArray("array");
Arrays.stream(array).forEach(str->arrayNode.add(str));

或者您也可以通過將數組轉換為ArrayNode addAll直接使用ArrayNode

jsonNode.putArray("array").addAll(objectMapper.valueToTree(array));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM