使用jackson(java)编辑json对象

r6hnlfcb  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(318)

新来的Jackson。我有person类和json格式的人员列表,列在arraylist中。person类包含以下内容:

int id;

@JsonProperty("Lastname")
String lastName;

@JsonProperty("Firstname")
String firstName;

@JsonProperty("BirthDay")
String birthDay;

@JsonProperty("Emails")
ArrayList<String> emails;

@JsonProperty("Languages")
ArrayList<String> languages;

public Person() {
}

public Person(int id, String lastName, String firstName, String birthDay, ArrayList<String> emails, ArrayList<String> languages) {
    this.id = id;
    this.lastName = lastName;
    this.firstName = firstName;
    this.birthDay = birthDay;
    this.emails = emails;
    this.languages = languages;
}

加上getter,setter和tostring。
我从json文件中读取所有对象,并将其添加到arraylist中

static ArrayList<Person> personArrayList = new ArrayList<>();

搜索:

public static List<Person> searchByID(int id) {
    List<Person> search = new ArrayList();     
    for(Person person:personArrayList)
    {
        if(person.getId()== id)
        {
            search.add(person);
        }
    }      
    return search;
    }

问题是:当我在数组列表中找到一个对象时,如何编辑它?我需要更改一些字段并将一个对象写入json文件,但不是作为新的,只是编辑了旧的。我该怎么做?

ttcibm8c

ttcibm8c1#

所以您的问题是如何在文件中编写优化的json数据。
看一下这个问题的答案,它解释了在java中如何编写文件,以及您的想法不是使用java对文件的随机访问:
使用java就地修改文件内容

相关问题