使用gson将json解析为java对象

时间:2012-07-03 20:39:11

标签: java json gson

我想将json数据解析为java对象,然后将其发布到.jsp,然后将其转换回json对象,以便将其放入javascript数组中。

以下是我要解析的数据示例:

"LoanList" = [ {"Loan" : "One","Lat" : "35.65365", "Lng" : "123.1331" , "Bal" : "4565" ,  "Address" : "Address 1" , "Delinquency" : "True')]

阅读完之后,我决定使用gson来解析数据:在​​阅读了关于这个主题的其他问题后,我写了两个类。

class1.java

import java.util.ArrayList;

public class JSON1 {

    ArrayList<innerData> Loanlst;


    public ArrayList<innerData> getLoanlst() {
        return Loanlst;
    }
    public void setLoanlst(ArrayList<innerData> Loanlst) {
        this.Loanlst = Loanlst;
    }
}

class2.java

import java.math.*;

public class innerData {
public String loan;
public BigDecimal lat;
public BigDecimal lng;
public BigDecimal bal;
public String addrs;
public String delinq;

public String getLoan() {
    return loan;
}

public void setLoan(String loan){
    this.loan = loan;
}

public BigDecimal getLat() {
    return lat;
}

public void setLat(BigDecimal lat){
    this.lat = lat;
}

public BigDecimal getLng() {
    return lng;
}

public void setLng(BigDecimal lng){
    this.lng = lng;
}

public BigDecimal getBal() {
    return bal;
}

public void setBal(BigDecimal bal){
    this.bal = bal;
}

public String getAddrs() {
    return addrs;
}

public void setAddrs(String addrs){
    this.addrs = addrs;
}


public String getDelinq() {
    return delinq;
}

public void setDelinq(String delinq){
    this.delinq = delinq;
}
}

这是我被困的地方,在发送数据之前,我在哪里创建新的Gson()来解析数据?

2 个答案:

答案 0 :(得分:3)

使用你的课程,你应该可以做类似的事情:

InnerData obj = new InnerData(...);//fill in with data
Gson gson = new Gson();

// convert java object to JSON format,
// and returned as JSON formatted string
String json = gson.toJson(obj);

查看示例herehere

提示:尝试创建一个主类来单独运行它。

答案 1 :(得分:2)

试试这个: JsonParser解析器= new JsonParser(); JsonObject jsonObject = parser.parse(“your string”)。getAsJsonObject();

如果它是jsonArray,则将getAsJsonObject更改为getAsJsonArray

jackson还为json提供了一个易于解析的字符串 你可以搜索jackson apache