为了账号安全,请及时绑定邮箱和手机立即绑定

Java json 将值附加到 json 数组

Java json 将值附加到 json 数组

哔哔one 2022-06-15 09:22:35
如何将值附加到现有的 json 数组?我有以下值的现有 json 数组{  "test": [    1,    2,    3,    4  ]} 我想将“0”添加到 json 数组中,以便新的 json 数组看起来像{  "test": [    0,      1,    2,    3,    4  ]} 
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

使用 Java 和 Jackson 库,您可以将 (json) 字符串反序列化为 Java 对象,添加条目,然后将修改后的对象序列化(将其打印为 Json 格式)。


例如,使用此代码


package json;

import java.util.Collections;

import java.util.List;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.fasterxml.jackson.databind.SerializationFeature;


public class UseJson {

  public static void main(String[] args) throws Exception {

    ObjectMapper om = new ObjectMapper();

    String json = "{\r\n" + 

    "  \"test\": [\r\n" + 

    "    1,\r\n" + 

    "    2,\r\n" + 

    "    3,\r\n" + 

    "    4\r\n" + 

    "  ]\r\n" + 

    "} ";

    System.out.println("json="+json);

    Wrap val = om.readValue( json, Wrap.class);

    System.out.println("read val="+val);

    val.test.add(0);

    Collections.sort(val.test);

    System.out.println("val="+val);

    om.enable(SerializationFeature.INDENT_OUTPUT);

    String json2 = om.writeValueAsString(val);

    System.out.println("json2="+json2);

  }

}


class Wrap {

  public List<Integer> test;

  @Override

  public String toString() {

    return "Wrap[test=" + test + "]";

  }

}

你得到..


json={

  "test": [

    1,

    2,

    3,

    4

  ]

read val=Wrap[test=[1, 2, 3, 4]]

val=Wrap[test=[0, 1, 2, 3, 4]]

json2={

  "test" : [ 0, 1, 2, 3, 4 ]

}

(在 Maven 项目中编译,包括jackson-coreand jackson-databind)


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 221 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号