gpt4 book ai didi

java - Gson、解析json内部类列表、javabean

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:08 28 4
gpt4 key购买 nike

好吧,我正在尝试解析一些 JSON。解析成功:

成员.json:

{"member":{"id":585897,"name":"PhPeter","profileIconId":691,"age":99,"email":"peter@adress.com "}}

但是如果我需要解析怎么办:

{"Members":[{"id":585897,"name":"PhPeter","profileIconId":691,"age":99,"email":‌​‌​"peter@adress.com"},{"id":645231,"name":"Bill","profileIconId":123,"age":56,"em‌​ai‌​l":"bill@adress.com"}]}

当然我在网上搜索过,我想,我需要在这里使用“List<>”private List<memberProfile> member;但是我如何从我的主类(class)“得到”这个??

我用它来解析第一个字符串:

内存类.java

public class memberClass {

private memberProfile member;

public memberProfile getMember() {
return member;
}
public class memberProfile{
int id;
String name;
int profileIconId;
int age;
String email;

//Getter
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getProfileIconId() {
return profileIconId;
}
public int getAge() {
return age;
}
public String getEmail() {
return email;
}
}
}

成员到Java.java

public class memberToJava {

public static void main(String[] args) {

Gson gson = new Gson();

try {

BufferedReader br = new BufferedReader(new FileReader("...Member.json"));

//convert the json string back to object
memberClass memberObj = gson.fromJson(br, memberClass.class);

System.out.println("Id: " + memberObj.getMember().getId());
System.out.println("Namw: " + memberObj.getMember().getName());
System.out.println("ProfileIconId: " + memberObj.getMember().getProfileIconId());
System.out.println("Age: " + memberObj.getMember().getAge());
System.out.println("Email: " + memberObj.getMember().getEmail());


} catch (IOException e) {
e.printStackTrace();
}
}
}

最佳答案

看下面的代码

成员类.java

import java.util.List;

public class MemberClass {

private List<MemberProfile> member;

public List<MemberProfile> getMember() {
return member;
}

public void setMember(List<MemberProfile> member) {
this.member = member;
}

public class MemberProfile {
int id;
String name;
int profileIconId;
int age;
String email;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getProfileIconId() {
return profileIconId;
}

public void setProfileIconId(int profileIconId) {
this.profileIconId = profileIconId;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

}
}

主类

import com.google.gson.Gson;


public class MemTest {
public static void main(String[] args) {
String json = "{'member':[{'id':585897,'name':'PhPeter','profileIconId':691,'age':99,'email':‌​‌​'peter@adress.com'},{'id':645231,'name':'Bill','profileIconId':123,'age':56,'em‌​ai‌​l':'bill@adress.com'}]}";
MemberClass memberClass = new Gson().fromJson(json, MemberClass.class);

System.out.println(new Gson().toJson(memberClass));
}
}

输出

{"member":[{"id":585897,"name":"PhPeter","profileIconId":691,"age":99,"email":"‌​‌​\u0027peter@adress.com\u0027"},{"id":645231,"name":"Bill","profileIconId":123,"age":56}]}

关于java - Gson、解析json内部类列表、javabean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26119778/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com