java中解析一个json串,本文详细介绍了安卓原生的解析以及用fastjson解析

本文探讨了在Java和Android应用中解析JSON的方法,重点介绍了使用Fastjson库进行解析。首先提到了Google提供的原生解析方式,需要引入JSON-java的类库。接着详细阐述了使用Fastjson解析JSON数据的步骤,包括导入Fastjson的依赖和创建对应的实体类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java或安卓中解析JSON有很多种方式,可以用谷歌给安卓提供的原生的解析方式解析安卓,也可以选择第三方类库,一些比较流行的解析方式如fastjson,Gson等,本文就简单介绍一下java工程中fastjson解析json数据。在介绍fastjson解析之前,我想先给大家用谷歌给安卓提供的原生解析方式解析一个JSON数据串。

(一)google原生的解析方式:

用原生的解析方式需要用到一些google提供的类库,在你的工程下新建一个org.json包,然后可以从https://github.com/stleary/JSON-java下载其提供的java解析JSON的类库

然后把这些下载好的类复制到org.json包下,如下图:

给出json串如下:

{"firstName":"John","lastName":"Smith","address":{"streetAddress":"奥运村西",
"city":"北京","postalCode":"100019","state":"北京"},
"phoneNumber":[{"number":" 10086","type":"home"},{"number":" 10010","type":"fax"}],"sex":"male","age":25}
{...}里面的是一个JSONObject,而[...]是一个JSONArray

由JSON字符串我们可以定义出实体类如下:

public class User {
    private String firstName;
    private String lastName;
    private String sex;
    private int age;
    private Address address;
    private List<Phone> phoneNumber;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getSex() {
        return sex;
    }

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

    public int getAge() {
        return age;
    }

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

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public List<Phone> getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(List<Phone> phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}
public class Address {
    private String streetAddress;
    private String city;
    private String state;
    private String postalCode;

    public String getStreetAddress() {
        return streetAddress;
    }

    public void setStreetAddress(String streetAddress) {
        this.streetAddress = streetAddress;
    }

    public String getCity() {
        return city;
    }

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

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getPostalCode() {
        return postalCode;
    }

    public void setPostalCode(String postalCode) {
        this.postalCode = postalCode;
    }
}
public class Phone {
    private String type;
    private 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值