wstcl 2025-01-19 16:47 采纳率: 38.1%
浏览 21

java用gson将复杂的json字符串转为对象

java 中有一个gson的包可以用处理json 假设有下面这样一个json字符串,如何转义dn 对象,并遍历users的项
{"department":"A 部门","users":[{"name":"Jim",age: 20},{{"name":"Bob",age: 40}}]

  • 写回答

2条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    首先,你的JSON字符串存在语法错误,它应该是这样的:

    {
        "department": "A 部门",
        "users": [
            {"name": "Jim", "age": 20},
            {"name": "Bob", "age": 40}
        ]
    }
    

    你可以使用Gson库来解析这个JSON字符串为一个Java对象。假设你有一个对应的Java类来表示这个结构,如下:

    DepartmentUser.java:

    public class DepartmentUser {
        private String department;
        private List<User> users;
    
        // getters and setters...
    }
    

    User.java:

    public class User {
        private String name;
        private int age;
    
        // getters and setters...
    }
    

    然后你可以使用Gson来解析JSON字符串:

    import com.google.gson.Gson;
    import java.util.List;
    
    public class Main {
        public static void main(String[] args) {
            String json = "..."; // 你的JSON字符串,修正了语法错误后的版本。
            Gson gson = new Gson();
            DepartmentUser departmentUser = gson.fromJson(json, DepartmentUser.class);
            System.out.println(departmentUser.getDepartment()); // 输出部门名称 "A 部门"
            List<User> users = departmentUser.getUsers(); // 获取用户列表,然后你可以遍历这个列表。例如:
            for (User user : users) {
                System.out.println("Name: " + user.getName() + ", Age: " + user.getAge()); // 输出每个用户的名字和年龄。
            }
        }
    }
    

    这样你就可以将复杂的JSON字符串转换为Java对象,并遍历其中的项了。注意在使用Gson之前,你需要确保已经添加了Gson的依赖到你的项目中。如果你使用的是Maven,你可以在pom.xml文件中添加如下依赖:

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>版本号</version> <!-- 请使用最新版本 -->
    </dependency>
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月19日