net.sf.json.JSONObject 和org.json.JSONObject 的差别

匿名 (未验证) 提交于 2019-12-02 23:05:13

一、创建json对象

String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}

org.json.JSONObject:  JSONObject json = new JSONObject(str);

二、解析json

第一种直接用json对象 .getXXX();方法获取

org.json.JSONObject:  获取的字段类型必须跟getXXX()的类型一样

例如:

JSONObject msgObj = json.getJSONObject("msg");

如果在org.json.JSONObject 就会报错,可以msgObj.getDouble("availableBalance");也不会丢精度;

而net.sf.json.JSONObject正确,但是精度会丢失,

如果String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":\"31503079.02\"}}";就不会丢失精度。

第二种json对象直接转变实体对象

public class BalanceDto {


  private String availableBalance;
  public String getAvailableBalance() {
    return availableBalance;
  }
  public void setAvailableBalance(String availableBalance) {
    this.availableBalance = availableBalance;
  }
  public String toString(){

  }


}

net.sf.json.JSONObject:  String msg = json.getString("msg");



三、从json中获取数组

JSONArray subArray = json.getJSONArray("msg");

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!