美文网首页
Java基础——JSON

Java基础——JSON

作者: _羊羽_ | 来源:发表于2019-02-17 22:16 被阅读1次

    org.json

    配置pom.xml

    <dependencies>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20160810</version>
            </dependency>
        </dependencies>
    

    put

          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结果

    {"gender":"男","name":"xiaoming","age":20,"hobby":["羽毛球","爬山"]}
    

    HashMap

           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

    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 + '\'' +
                    '}';
        }
    }
    
           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

            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

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
    </dependency>
    
            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

     @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;
    
            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 忽略某个字段

     private transient String ingorVal;
    

    解析json

    
           String jsonStr = "{\"gender\":\"男\",\"name\":\"xiaoming\",\"age\":20,\"hobby\":[\"羽毛球\",\"爬山\"]}";
            Gson gson = new Gson();
            Student s = gson.fromJson(jsonStr,Student.class);
            System.out.println(s);
    

    相关文章

      网友评论

          本文标题:Java基础——JSON

          本文链接:https://www.haomeiwen.com/subject/yifieqtx.html