Java对象与JSonp之间的转换

Java对象与JSonp之间的转换

Java对象和JSON字符串的互转

普通切割(不推荐)
package San;

public class PuTong {
    public static void main(String[] args) {
        /*
        Java对象和JSON字符串的互转
        前台的字符串
        */
        String s = "{\"name\":\"san\",\"age\":18,\"sex\":\"男\"}";
        //将大括号替换为空串
        String ee = s.replace("{", "");
        String ew = ee.replace("}", "");
        //以,进行切割 分割为一个数组
        String[] sp = ew.split(",");
        /*
        取出第一个元素
        以:进行切割 然后转义替换引号为""
        取出数据
        */
        String[] sl = sp[0].split(":");
        String re = sl[1].replace("\"", "");
        String ra = sl[0].replace("\"", "");
        String[] sl1 = sp[1].split(":");
        String re1 = sl1[1].replace("\"", "");
        String ra1 = sl1[0].replace("\"", "");
        String[] sl2 = sp[2].split(":");
        String re2 = sl2[1].replace("\"", "");
        String ra2 = sl2[0].replace("\"", "");
        System.out.println(re);
        System.out.println(ra);
        System.out.println(re1);
        System.out.println(ra1);
        System.out.println(re2);
        System.out.println(ra2);
    }
}
运行结果:
san
name
18
age
男
sex

Jackson 杰克逊

对于Json字符串与java对象的互相转换 我们一般都是借助第三方的JSON解析器
Json解析器:Jsonlib Gson fastjson jackson杰克逊

jackson 杰克逊 是SpringMVC内置的JSON解析器
1. 导入jackson 杰克逊的三个jar包 进行依赖
2.开始使用
  1. Java对象转换JSON字符串
    • 从数据库查询出来数据
    • 把数据库查询出来的零碎数据 封装到Java对象
  2. 把Java对象转换成JSON字符串
把Java对象转换成JSON字符串
package San;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class MyTest {
    public static void main(String[] args) {
        Stu stu = new Stu("san", 18, "男");
        ObjectMapper ma = new ObjectMapper();
        try {
            String s = ma.writeValueAsString(stu);
            System.out.println(s);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
}
运行结果:
{"name":"san","age":18,"sex":"男"}

把转换的JSON数据存到文件中

try {
    ma.writeValue(new File("student.json"),stu);
} catch (IOException e) {
    e.printStackTrace();
}

package San1;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Per {
    private String name;
    private double sale;
    private int age;
    private char sex;
    @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒", timezone = "GMT+8")
    private Date birth;
    private Car car;
    private List<Car> cars;
    public Per() {
    }

    public Per(String name, double sale, int age, char sex, Date birth, Car car) {
        this.name = name;
        this.sale = sale;
        this.age = age;
        this.sex = sex;
        this.birth = birth;
        this.car = car;
    }

    public Per(String name, double sale, int age, char sex, Date birth) {
        this.name = name;
        this.sale = sale;
        this.age = age;
        this.sex = sex;
        this.birth = birth;
    }

    public Per(String name, double sale, int age, char sex, Date birth, Car car, List<Car> cars) {
        this.name = name;
        this.sale = sale;
        this.age = age;
        this.sex = sex;
        this.birth = birth;
        this.car = car;
        this.cars = cars;
    }

    public Car getCar() {
        return car;
    }

    public void setCar(Car car) {
        this.car = car;
    }

    public List<Car> getCars() {
        return cars;
    }

    public void setCars(List<Car> cars) {
        this.cars = cars;
    }

    public String getName() {
        return name;
    }

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

    public double getSale() {
        return sale;
    }

    public void setSale(double sale) {
        this.sale = sale;
    }

    public int getAge() {
        return age;
    }

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

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }
}

注释

public class HuLv {
    public static void main(String[] args) {
        Per person = new Per("wa", 3333.33, 20, '男',new Date());
        ObjectMapper mapper = new ObjectMapper();
        String s = null;
        try {
            s = mapper.writeValueAsString(person);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        System.out.println(s);
    }
}
原始运行结果:
{"name":"wa","sale":3333.33,"age":20,"sex":"男","birth":1600828814062}

@JsonIgnore 忽略该属性,不要转成JSON

public class Per {
    private String name;
    @JsonIgnore
    private double sale;
    private int age;
    @JsonIgnore
    private char sex;
    @JsonIgnore
    private Date birth;
    public Per() {
    }
运行结果:
{"name":"wa","age":20}

@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”) 格式化日期,把毫秒值格式化成年月日,时分秒

  @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒", timezone = "GMT+8")
    private Date birth;
运行结果:
{"name":"wa","sale":3333.33,"age":20,"sex":"男","birth":"2020年09月23日 10时43分05秒"}

hashmap存储对象 转换JSON字符串并保存文件

package San;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;

public class Map {
    public static void main(String[] args) {
        Stu n0 = new Stu("额", 18, "男");
        Stu n1 = new Stu("分", 18, "男");
        Stu n2 = new Stu("吧", 18, "男");
        Stu n3 = new Stu("啊", 18, "男");
        HashMap<String, Stu> st = new HashMap<>();
       st.put("n0",n0);
       st.put("n1",n1);
       st.put("n2",n2);
       st.put("n3",n3);
        ObjectMapper o = new ObjectMapper();
        try {
            String s1 = o.writeValueAsString(st);
            System.out.println(s1);
            o.writeValue(new File("listst.json"), st);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
运行结果:
{"n0":{"name":"额","age":18,"sex":"男"},"n1":{"name":"分","age":18,"sex":"男"},"n2":{"name":"吧","age":18,"sex":"男"},"n3":{"name":"啊","age":18,"sex":"男"}}

集合存储对象 转换JSON字符串并保存文件

package San;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

public class List {
    public static void main(String[] args) {
        Stu n0 = new Stu("额", 18, "男");
        Stu n1 = new Stu("分", 18, "男");
        Stu n2 = new Stu("吧", 18, "男");
        Stu n3 = new Stu("啊", 18, "男");
        ArrayList<Stu> s = new ArrayList<>();
        s.add(n0);
        s.add(n1);
        s.add(n2);
        s.add(n3);
        ObjectMapper o = new ObjectMapper();
        try {
            String s1 = o.writeValueAsString(s);
            System.out.println(s1);
            o.writeValue(new File("list.json"), s);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
运行结果:
[{"name":"额","age":18,"sex":"男"},{"name":"分","age":18,"sex":"男"},{"name":"吧","age":18,"sex":"男"},{"name":"啊","age":18,"sex":"男"}]

对象内包含另一对象与包含对象集合

package San1;

public class Car {
    private String carName;
    private double carSal;

    public Car() {
    }

    public Car(String carName, double carSal) {
        this.carName = carName;
        this.carSal = carSal;
    }

    public String getCarName() {
        return carName;
    }

    public void setCarName(String carName) {
        this.carName = carName;
    }

    public double getCarSal() {
        return carSal;
    }

    public void setCarSal(double carSal) {
        this.carSal = carSal;
    }
}
package San1;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Car car = new Car("ww", 33333.3);
        Per per = new Per("ee", 77777.7, 19, '男', new Date(), car);
        ObjectMapper mapper = new ObjectMapper();
        String s = null;
        try {
            s = mapper.writeValueAsString(per);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        System.out.println(s);
        System.out.println("========================================");
        Car car1 = new Car("ww1", 33333.3);
        Car car2 = new Car("ww2", 33333.3);
        Car car3 = new Car("ww3", 33333.3);
        Car car4 = new Car("ww4", 33333.3);
        Car car5 = new Car("ww5", 33333.3);
        Car car6 = new Car("ww6", 33333.3);
        ArrayList<Car> cars = new ArrayList<>();
        cars.add(car1);
        cars.add(car2);
        cars.add(car3);
        cars.add(car4);
        cars.add(car5);
        cars.add(car6);
        Per person1 = new Per("ee", 77777.7, 19, '男', new Date(), car, cars);
        String s1 = null;
        try {
            s1 = mapper.writeValueAsString(person1);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        System.out.println(s1);
        try {
            mapper.writeValue(new FileWriter("person.json"), person1);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
运行结果:
{"name":"ee","sale":77777.7,"age":19,"sex":"男","birth":"2020年09月23日 11时41分57秒","car":{"carName":"ww","carSal":33333.3},"cars":null}
========================================
{"name":"ee","sale":77777.7,"age":19,"sex":"男","birth":"2020年09月23日 11时41分58秒","car":{"carName":"ww","carSal":33333.3},"cars":[{"carName":"ww1","carSal":33333.3},{"carName":"ww2","carSal":33333.3},{"carName":"ww3","carSal":33333.3},{"carName":"ww4","carSal":33333.3},{"carName":"ww5","carSal":33333.3},{"carName":"ww6","carSal":33333.3}]}

JSON字符串转换成Java对象

o.readValue(s, Tea.class)
package San3;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class ZhuanHuan {
    public static void main(String[] args) {
        String s = "{\"name\":\"San\",\"age\":23,\"sex\":\"男\"}";
        ObjectMapper o = new ObjectMapper();
        Tea tea = null;
        try {
            tea = o.readValue(s, Tea.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(tea.getName());
        System.out.println(tea.getAge());
        System.out.println(tea.getSex());
    }
}
运行结果:
San
23
男

JSON字符串转换java对象 包含集合属性

package San4;

import java.util.List;

public class Joker {
    private String msg;
    private List<String> jokes;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<String> getJokes() {
        return jokes;
    }

    public void setJokes(List<String> jokes) {
        this.jokes = jokes;
    }
}
package San4;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        String s="{\"msg\":\"获取2条笑话\",\"jokes\":[\"小时候家里穷,没吃过生日蛋糕,我问我爸那是什么味道。 我爸说:“等你过生日那天就知道了”。 后来我等啊等,终于等到生日那天,我爸爸神秘兮兮地凑到我耳边对我说:“我问过别人了,生日蛋糕是奶油味的。\",\"和好朋友吵架一直趴桌上 哭成了泪人 老师突然叫我起来回答问题 我一起身 鼻涕从桌上到鼻孔拉了一米多长 老师看着晶莹剔透有弹性的鼻涕惊呆了 全部哄堂大笑 我也不好意思了 噗的一声笑了出来 并喷出了更多鼻涕\"]}";
        Joker jokes = null;
        try {
            jokes = new ObjectMapper().readValue(s, Joker.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
        String msg = jokes.getMsg();
        System.out.println(msg);
        List<String> jokes1 = jokes.getJokes();
        System.out.println(jokes1);
    }
}
运行结果:
获取2条笑话
[小时候家里穷,没吃过生日蛋糕,我问我爸那是什么味道。 我爸说:“等你过生日那天就知道了”。 后来我等啊等,终于等到生日那天,我爸爸神秘兮兮地凑到我耳边对我说:“我问过别人了,生日蛋糕是奶油味的。, 和好朋友吵架一直趴桌上 哭成了泪人 老师突然叫我起来回答问题 我一起身 鼻涕从桌上到鼻孔拉了一米多长 老师看着晶莹剔透有弹性的鼻涕惊呆了 全部哄堂大笑 我也不好意思了 噗的一声笑了出来 并喷出了更多鼻涕]

天气预报综合转换

package San5;

import java.util.List;

public class YuBao {
    private MyData data;
    private int status;
    private String desc;
    // {"data":{
    // "yesterday":{
    // "date":"21日星期一","high":"高温 14℃","fx":"东北风","low":"低温 12℃","fl":"<![CDATA[1级]]>","type":"中雨"},"city":"商洛",
    // "forecast":[{
    // "date":"22日星期二","high":"高温 16℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"东北风","type":"小雨"},{"date":"23日星期三","high":"高温 23℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"南风","type":"多云"},{"date":"24日星期四","high":"高温 24℃","fengli":"<![CDATA[1级]]>","low":"低温 13℃","fengxiang":"东南风","type":"多云"},{"date":"25日星期五","high":"高温 22℃","fengli":"<![CDATA[1级]]>","low":"低温 14℃","fengxiang":"东南风","type":"阴"},{"date":"26日星期六","high":"高温 22℃","fengli":"<![CDATA[2级]]>","low":"低温 14℃","fengxiang":"东南风","type":"多云"}],"ganmao":"感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。","wendu":"14"},"status":1000,"desc":"OK"}

    public MyData getData() {
        return data;
    }

    public void setData(MyData data) {
        this.data = data;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
class Yesterday {
    private String date;
    private String high;
    private String fx;
    private String low;
    private String fl;
    private String type;

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getHigh() {
        return high;
    }

    public void setHigh(String high) {
        this.high = high;
    }

    public String getFx() {
        return fx;
    }

    public void setFx(String fx) {
        this.fx = fx;
    }

    public String getLow() {
        return low;
    }

    public void setLow(String low) {
        this.low = low;
    }

    public String getFl() {
        return fl;
    }

    public void setFl(String fl) {
        this.fl = fl;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}
class MyData {
    private Yesterday yesterday;
    private String city;
    private String ganmao;
    private String wendu;
    private List<Forecast> forecast;

    public Yesterday getYesterday() {
        return yesterday;
    }

    public void setYesterday(Yesterday yesterday) {
        this.yesterday = yesterday;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getGanmao() {
        return ganmao;
    }

    public void setGanmao(String ganmao) {
        this.ganmao = ganmao;
    }

    public String getWendu() {
        return wendu;
    }

    public void setWendu(String wendu) {
        this.wendu = wendu;
    }

    public List<Forecast> getForecast() {
        return forecast;
    }

    public void setForecast(List<Forecast> forecast) {
        this.forecast = forecast;
    }
}
class Forecast {
    private String date;
    private String high;
    private String fengli;
    private String low;
    private String fengxiang;
    private String type;

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getHigh() {
        return high;
    }

    public void setHigh(String high) {
        this.high = high;
    }

    public String getFengli() {
        return fengli;
    }

    public void setFengli(String fengli) {
        this.fengli = fengli;
    }

    public String getLow() {
        return low;
    }

    public void setLow(String low) {
        this.low = low;
    }

    public String getFengxiang() {
        return fengxiang;
    }

    public void setFengxiang(String fengxiang) {
        this.fengxiang = fengxiang;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

package San5;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.List;


public class MyTest {
    public static void main(String[] args) throws IOException {
       // {"data":{"yesterday":{"date":"21日星期一","high":"高温 14℃","fx":"东北风","low":"低温 12℃","fl":"<![CDATA[1级]]>","type":"中雨"},"city":"商洛","forecast":[{"date":"22日星期二","high":"高温 16℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"东北风","type":"小雨"},{"date":"23日星期三","high":"高温 23℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"南风","type":"多云"},{"date":"24日星期四","high":"高温 24℃","fengli":"<![CDATA[1级]]>","low":"低温 13℃","fengxiang":"东南风","type":"多云"},{"date":"25日星期五","high":"高温 22℃","fengli":"<![CDATA[1级]]>","low":"低温 14℃","fengxiang":"东南风","type":"阴"},{"date":"26日星期六","high":"高温 22℃","fengli":"<![CDATA[2级]]>","low":"低温 14℃","fengxiang":"东南风","type":"多云"}],"ganmao":"感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。","wendu":"14"},"status":1000,"desc":"OK"}
        String jsonStr="{\"data\":{\"yesterday\":{\"date\":\"21日星期一\",\"high\":\"高温 14℃\",\"fx\":\"东北风\",\"low\":\"低温 12℃\",\"fl\":\"<![CDATA[1级]]>\",\"type\":\"中雨\"},\"city\":\"商洛\",\"forecast\":[{\"date\":\"22日星期二\",\"high\":\"高温 16℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 11℃\",\"fengxiang\":\"东北风\",\"type\":\"小雨\"},{\"date\":\"23日星期三\",\"high\":\"高温 23℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 11℃\",\"fengxiang\":\"南风\",\"type\":\"多云\"},{\"date\":\"24日星期四\",\"high\":\"高温 24℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 13℃\",\"fengxiang\":\"东南风\",\"type\":\"多云\"},{\"date\":\"25日星期五\",\"high\":\"高温 22℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 14℃\",\"fengxiang\":\"东南风\",\"type\":\"阴\"},{\"date\":\"26日星期六\",\"high\":\"高温 22℃\",\"fengli\":\"<![CDATA[2级]]>\",\"low\":\"低温 14℃\",\"fengxiang\":\"东南风\",\"type\":\"多云\"}],\"ganmao\":\"感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。\",\"wendu\":\"14\"},\"status\":1000,\"desc\":\"OK\"}";

        YuBao yuBao = new ObjectMapper().readValue(jsonStr, YuBao.class);
        int status = yuBao.getStatus();
        String desc = yuBao.getDesc();
        System.out.println(status);
        System.out.println(desc);
        MyData data = yuBao.getData();
        Yesterday yesterday = data.getYesterday();
        String type = yesterday.getType();
        System.out.println(type);
        System.out.println("===================================");
        List<Forecast> forecast = data.getForecast();
        Forecast forecast1 = forecast.get(0);
        String fengxiang = forecast1.getFengxiang();
        System.out.println(fengxiang);

    }
}

运行结果:
1000
OK
中雨
===================================
东北风

GSonFormat插件

快捷键 Alt+Insert 或 Alt+U
package San6;

import java.util.List;

public class GsonFormat {

    /**
     * yesterday : {"date":"21日星期一","high":"高温 14℃","fx":"东北风","low":"低温 12℃","fl":"<![CDATA[1级]]>","type":"中雨"}
     * city : 商洛
     * forecast : [{"date":"22日星期二","high":"高温 16℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"东北风","type":"小雨"},{"date":"23日星期三","high":"高温 23℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"南风","type":"多云"},{"date":"24日星期四","high":"高温 24℃","fengli":"<![CDATA[1级]]>","low":"低温 13℃","fengxiang":"东南风","type":"多云"},{"date":"25日星期五","high":"高温 22℃","fengli":"<![CDATA[1级]]>","low":"低温 14℃","fengxiang":"东南风","type":"阴"},{"date":"26日星期六","high":"高温 22℃","fengli":"<![CDATA[2级]]>","low":"低温 14℃","fengxiang":"东南风","type":"多云"}]
     * ganmao : 感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。
     * wendu : 14
     */

    private DataBean data;
    /**
     * data : {"yesterday":{"date":"21日星期一","high":"高温 14℃","fx":"东北风","low":"低温 12℃","fl":"<![CDATA[1级]]>","type":"中雨"},"city":"商洛","forecast":[{"date":"22日星期二","high":"高温 16℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"东北风","type":"小雨"},{"date":"23日星期三","high":"高温 23℃","fengli":"<![CDATA[1级]]>","low":"低温 11℃","fengxiang":"南风","type":"多云"},{"date":"24日星期四","high":"高温 24℃","fengli":"<![CDATA[1级]]>","low":"低温 13℃","fengxiang":"东南风","type":"多云"},{"date":"25日星期五","high":"高温 22℃","fengli":"<![CDATA[1级]]>","low":"低温 14℃","fengxiang":"东南风","type":"阴"},{"date":"26日星期六","high":"高温 22℃","fengli":"<![CDATA[2级]]>","low":"低温 14℃","fengxiang":"东南风","type":"多云"}],"ganmao":"感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。","wendu":"14"}
     * status : 1000
     * desc : OK
     */

    private int status;
    private String desc;

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public static class DataBean {
        /**
         * date : 21日星期一
         * high : 高温 14℃
         * fx : 东北风
         * low : 低温 12℃
         * fl : <![CDATA[1级]]>
         * type : 中雨
         */

        private YesterdayBean yesterday;
        private String city;
        private String ganmao;
        private String wendu;
        /**
         * date : 22日星期二
         * high : 高温 16℃
         * fengli : <![CDATA[1级]]>
         * low : 低温 11℃
         * fengxiang : 东北风
         * type : 小雨
         */

        private List<ForecastBean> forecast;

        public YesterdayBean getYesterday() {
            return yesterday;
        }

        public void setYesterday(YesterdayBean yesterday) {
            this.yesterday = yesterday;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getGanmao() {
            return ganmao;
        }

        public void setGanmao(String ganmao) {
            this.ganmao = ganmao;
        }

        public String getWendu() {
            return wendu;
        }

        public void setWendu(String wendu) {
            this.wendu = wendu;
        }

        public List<ForecastBean> getForecast() {
            return forecast;
        }

        public void setForecast(List<ForecastBean> forecast) {
            this.forecast = forecast;
        }

        public static class YesterdayBean {
            private String date;
            private String high;
            private String fx;
            private String low;
            private String fl;
            private String type;

            public String getDate() {
                return date;
            }

            public void setDate(String date) {
                this.date = date;
            }

            public String getHigh() {
                return high;
            }

            public void setHigh(String high) {
                this.high = high;
            }

            public String getFx() {
                return fx;
            }

            public void setFx(String fx) {
                this.fx = fx;
            }

            public String getLow() {
                return low;
            }

            public void setLow(String low) {
                this.low = low;
            }

            public String getFl() {
                return fl;
            }

            public void setFl(String fl) {
                this.fl = fl;
            }

            public String getType() {
                return type;
            }

            public void setType(String type) {
                this.type = type;
            }
        }

        public static class ForecastBean {
            private String date;
            private String high;
            private String fengli;
            private String low;
            private String fengxiang;
            private String type;

            public String getDate() {
                return date;
            }

            public void setDate(String date) {
                this.date = date;
            }

            public String getHigh() {
                return high;
            }

            public void setHigh(String high) {
                this.high = high;
            }

            public String getFengli() {
                return fengli;
            }

            public void setFengli(String fengli) {
                this.fengli = fengli;
            }

            public String getLow() {
                return low;
            }

            public void setLow(String low) {
                this.low = low;
            }

            public String getFengxiang() {
                return fengxiang;
            }

            public void setFengxiang(String fengxiang) {
                this.fengxiang = fengxiang;
            }

            public String getType() {
                return type;
            }

            public void setType(String type) {
                this.type = type;
            }
        }
    }
}
package San6;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.List;

public class Test {
    public static void main(String[] args) throws IOException {
        String jsonStr = "{\"data\":{\"yesterday\":{\"date\":\"21日星期一\",\"high\":\"高温 14℃\",\"fx\":\"东北风\",\"low\":\"低温 12℃\",\"fl\":\"<![CDATA[1级]]>\",\"type\":\"中雨\"},\"city\":\"商洛\",\"forecast\":[{\"date\":\"22日星期二\",\"high\":\"高温 16℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 11℃\",\"fengxiang\":\"东北风\",\"type\":\"小雨\"},{\"date\":\"23日星期三\",\"high\":\"高温 23℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 11℃\",\"fengxiang\":\"南风\",\"type\":\"多云\"},{\"date\":\"24日星期四\",\"high\":\"高温 24℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 13℃\",\"fengxiang\":\"东南风\",\"type\":\"多云\"},{\"date\":\"25日星期五\",\"high\":\"高温 22℃\",\"fengli\":\"<![CDATA[1级]]>\",\"low\":\"低温 14℃\",\"fengxiang\":\"东南风\",\"type\":\"阴\"},{\"date\":\"26日星期六\",\"high\":\"高温 22℃\",\"fengli\":\"<![CDATA[2级]]>\",\"low\":\"低温 14℃\",\"fengxiang\":\"东南风\",\"type\":\"多云\"}],\"ganmao\":\"感冒低发期,天气舒适,请注意多吃蔬菜水果,多喝水哦。\",\"wendu\":\"14\"},\"status\":1000,\"desc\":\"OK\"}";
        ObjectMapper mapper = new ObjectMapper();
        GsonFormat myYuBao = mapper.readValue(jsonStr, GsonFormat.class);
        String desc = myYuBao.getDesc();
        System.out.println(desc);
        GsonFormat.DataBean data = myYuBao.getData();
        String city = data.getCity();
        System.out.println(city);
        List<GsonFormat.DataBean.ForecastBean> forecast = data.getForecast();
        GsonFormat.DataBean.ForecastBean forecastBean = forecast.get(0);
        String fengxiang = forecastBean.getFengxiang();
        System.out.println(fengxiang);
    }
}
运行结果:
OK
商洛
东北风

Ajax的应用:校验用户名是否存在

  1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:

    1. $.get(type):将最后一个参数type指定为"json"

    2. 在服务器端设置MIME类型

      response.setContentType("application/json;charset=utf-8");
      //设置跨域请求
      response.setHeader("Access-Control-Allow-Origin","*");
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值