1. 程式人生 > >net.sf.json.JSONObject 和org.json.JSONObject 的差別

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

net.sf.json.JSONObject 和org.json.JSONObject  的差別。

一、建立json物件

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

org.json.JSONObject:

JSONObject json = new JSONObject(str);

net.sf.json.JSONObject:

JSONObject json = JSONObject.fromObject(str);  net.sf.json.jsonobject 沒有 new JSONObject(String)的構造方法

二、解析json

第一種直接用json物件.getXXX();方法獲取

net.sf.json.JSONObject: 沒有嚴格要求獲取欄位的型別跟getXXX()的型別一樣

org.json.JSONObject:獲取的欄位型別必須跟getXXX()的型別一樣

e.g.

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

String availableBalance = msgObj.getString("availableBalance");

如果在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(){

return "availableBalance   "+availableBalance;
}


}
org.json.JSONObject:

BalanceDto alanceDto  = (BalanceDto) JSONObject.stringToValue(msgObj);

這個句話編譯通過,但是執行會報錯,原因是BalanceDto 類中availableBalance 的型別跟json中的“availableBalance ”型別不同意

net.sf.json.JSONObject:

String msg = json.getString("msg");
BalanceDto  alanceDto = (BalanceDto) JSONObject.toBean(
msg, new BalanceDto().getClass());

三、從json中獲取陣列

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

net.sf.json.JSONObject:

int leng = subArray.size();

 org.json.JSONObject:

int leng = subArray.length();

還有其他的差別 可以比較兩個api文件

相關推薦

net.sf.json.JSONObject org.json.JSONObject差別

net.sf.json.JSONObject 和org.json.JSONObject  的差別。 一、建立json物件 String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}

net.sf.json.JSONObject org.json.JSONObject差別

創建 new 就會 obj tostring vat 解析json nbsp xxx 一、創建json對象 String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}} org.j

Android小問題:String轉換Json,以及org.json.JSONObjectorg.json.JSONArray相互新增

import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; 這是Android原生的Js

fastDFS+LibreOffice多檔案上傳(二)後端部分:檔案資訊轉json字串儲存資料庫(Gsonorg.json兩種方式)

需要注意的地方: 1)如果你複製我的程式碼到你的程式上報錯,可以看看我第一篇文章實體類跟配置檔案的設定:https://blog.csdn.net/qq_36688143/article/details/84162924 第二篇檔案上傳前端頁面的程式碼: https://blog.c

iOS json解析 生成json

1.生成json字串 NSData * jsonData = [NSJSONSerialization dataWithJSONObject:detailDic options:0 error:nil]; NSString * myStri

hive中UDF開發:解析json物件解析json陣列物件

hive預設函式: +-------------------------------------------------------------------+ json +--------------

JSON解析異常-org.json.JSONException: Expected a ':' after a key

問題場景 後端開發好介面,給發過來介面文件,於是開始開心的使用 GsonFormat 外掛 建實體了,然而轉換 JSON 時出錯。 錯誤現場截圖: 問題分析 JSON 轉換失敗一般有以下兩個原因: JSON 格式有問題,檢查一下格式。 格

json-c 的安裝使用(使用json-c讀取檔案中的json資料儲存json格式的資料至檔案中)

1、json資料格式和json-c簡介[1] JSON(JavaScriptObject Notation) 是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C,C++

hive載入json資料解析json

事先說明,本人菜雞一隻,如果有說錯的地方,還請大家指出批評,多多包涵~一、今天記錄一下使用hive怎麼載入json格式的資料,對於json格式,就不多做更多說明了,測試的資料是spark的example裡面的people.json,資料很少,但是說明情況足矣。先給出官網地址:

net.sf.json JSONObject與JSONArray使用實例

scrip collect string 運行時間 hset 對象轉json face 數字 標記 實例自己想的一個實例應用場景:一個人可以有多個角色,例如:在家中是兒子,在學校是學生,在公司是程序員,一個人還可以辦好多業務 * 每個業務好多個人都可以辦,則標記(mark)

net.sf.json.JSONObject maven下載到了但是java後臺一直用不了問題

需求,實體轉JSON,然後用到JSONObject轉JSON,但是我向下面這樣引入,後臺就是用不了,還是報紅, <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-li

net.sf.json.JSONObject無法處理含有java.util.Date格式的物件

昨天晚上電商的同事突然找我說在我之前寫的那個新執行後臺那邊除了些問題,說圖片載入不出來了,然後我看了下請求返回程式碼,500了!就跑去看了日誌,日誌上報了這樣的異常 [26/17:31:25 WARN] Failed to write HTTP message: org.springfram

net.sf.json.JSONObject轉為Bean時,Boolean型別轉換問題,待解決

java bean如下:import java.util.Date; public class CmFinancingProductRatePeriod { private Long id; private Long productId; pr

net.sf.json.JSONObject使用報錯

1、出現java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher錯誤 2、出現java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap錯誤

JsonMap互轉,三個包(org.json/net.sf.json/com.google.gson)

ogl war keys static sta print int for ons 目前使用的(org.json/net.sf.json/com.google.gson)這三種json-map互轉,其他包的以後在補充。。。。。。。。。。。。。。 導入的jar有: com

org.json.JSONObject的getStringoptString使用註意事項

pts bubuko mapped 使用 necessary inf gets str 分享 結論:org.json.JSONObject的getString如果取不到對應的key會拋出異常,optString則不會 /** * Returns the v

使用JSONObject生成解析json

-i 引入 detail .so map對象 com cti name ber 使用JSONObject生成和解析json 1. json數據類型 類型描述 Number 數字型 String 字符串型 Boolean 布爾型 Array 數組

使用JSONArray.fromObject()方法引入net.sf.json包所需要的jar包支持

iter ati ans tails variable println info bject project 關於使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持。 net.sf.json的下載地址 最新版本:http:

Missing artifact net.sf.json-lib:json-lib:jar:2.4錯誤Eclipse安裝Maven插件錯誤

選擇 dma dig tps data 本地 都是 .cn 版本號 微信公眾號:compassblog 歡迎關註、轉發,互相學習,共同進步! 有任何問題,請後臺留言聯系! 1、配置Maven項目的pom.xml文件報錯 (1)、錯誤描述:Missing artifact

Fastjson, Gson, org.json.JSON三者對於JSONObject及JSONArray的判斷

name 布爾 sbo str 有意思 boolean exc java 正常 1.Fastjson 我們通常在已知格式的情況下直接使用JSONObject,JSONArray,但是如果遇到需要判斷格式呢? try{ Obje