首页
学习
活动
专区
圈层
工具
发布

Java基础——JSON

org.json

配置pom.xml

代码语言:javascript
复制
<dependencies>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>
    </dependencies>

put

代码语言:javascript
复制
      JSONObject xiaoming = new JSONObject();
        xiaoming.put("name","xiaoming");
        xiaoming.put("gender","男");
        xiaoming.put("age",20);
        xiaoming.put("hobby",new String[]{"羽毛球","爬山"});
        Object nullObject = null;
        xiaoming.put("comment", nullObject);
        System.out.println(xiaoming.toString());

json结果

代码语言:javascript
复制
{"gender":"男","name":"xiaoming","age":20,"hobby":["羽毛球","爬山"]}

HashMap

代码语言:javascript
复制
       HashMap<String,Object> xiaoming = new HashMap<String, Object>();
        xiaoming.put("name","xiaoming");
        xiaoming.put("gender","男");
        xiaoming.put("age",20);
        xiaoming.put("hobby",new String[]{"羽毛球","爬山"});
        Object nullObject = null;
        xiaoming.put("comment", nullObject);
        System.out.println(new JSONObject(xiaoming).toString());

JavaBean

代码语言:javascript
复制
public class Student {
    private String name;
    private  String gender;
    private  int age;
    private  String[] hobby;
    private  String comment;

    public String getName() {
        return name;
    }

    public String getGender() {
        return gender;
    }

    public int getAge() {
        return age;
    }

    public String[] getHobby() {
        return hobby;
    }

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

    public void setGender(String gender) {
        this.gender = gender;
    }

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

    public void setHobby(String[] hobby) {
        this.hobby = hobby;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", hobby=" + Arrays.toString(hobby) +
                ", comment='" + comment + '\'' +
                ", ingorVal='" + ingorVal + '\'' +
                '}';
    }
}
代码语言:javascript
复制
       Student xiaoming = new  Student();
        xiaoming.setName("xiaoming");
        xiaoming.setGender("男");
        xiaoming.setAge(20);
        xiaoming.setHobby(new String[]{"羽毛球","爬山"});
        xiaoming.setComment(null);
        System.out.println(new JSONObject(xiaoming).toString());

解析JSON

代码语言:javascript
复制
        String jsonStr = "{\"gender\":\"男\",\"name\":\"xiaoming\",\"age\":20,\"hobby\":[\"羽毛球\",\"爬山\"]}";
        JSONObject jsonContent = new JSONObject(jsonStr);
        System.out.println("name="+jsonContent.getString("name"));
        System.out.println("age="+jsonContent.getInt("age"));
        System.out.println("hobby="+jsonContent.getJSONArray("hobby").getString(0));

gson

代码语言:javascript
复制
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version>
</dependency>
代码语言:javascript
复制
        Student xiaoming = new  Student();
        xiaoming.setName("xiaoming");
        xiaoming.setGender("男");
        xiaoming.setAge(20);
        xiaoming.setHobby(new String[]{"羽毛球","爬山"});
        xiaoming.setComment(null);
        System.out.println(new Gson().toJson(xiaoming));

注解 @SerializedName

代码语言:javascript
复制
 @SerializedName("Name")
    private String name;
    @SerializedName("Gender")
    private  String gender;
    @SerializedName("Age")
    private  int age;
    @SerializedName("Hobby")
    private  String[] hobby;
    @SerializedName("Comment")
    private  String comment;
代码语言:javascript
复制
        GsonBuilder builder = new GsonBuilder();
        builder.setFieldNamingStrategy(new FieldNamingStrategy() {
            public String translateName(Field field) {
                String name = field.getName();
                char [] cs = name.toCharArray();
                cs[0]-=32;
                return String.valueOf(cs);
            }
        });

        System.out.println(builder.create().toJson(xiaoming));

transient 忽略某个字段

代码语言:javascript
复制
 private transient String ingorVal;

解析json

代码语言:javascript
复制
       String jsonStr = "{\"gender\":\"男\",\"name\":\"xiaoming\",\"age\":20,\"hobby\":[\"羽毛球\",\"爬山\"]}";
        Gson gson = new Gson();
        Student s = gson.fromJson(jsonStr,Student.class);
        System.out.println(s);
下一篇
举报
领券