新来的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文件,但不是作为新的,只是编辑了旧的。我该怎么做?
1条答案
按热度按时间ttcibm8c1#
所以您的问题是如何在文件中编写优化的json数据。
看一下这个问题的答案,它解释了在java中如何编写文件,以及您的想法不是使用java对文件的随机访问:
使用java就地修改文件内容