本文目錄一覽:
- 1、使用json傳輸數據有什麼優缺點
- 2、json是什麼文件
- 3、java中處理JSON的開源工具都有些什麼?那個比較好用
- 4、json數據之外還有什麼數據?
- 5、json格式
- 6、json文件在實際開發中一般存放什麼數據?
使用json傳輸數據有什麼優缺點
JSON 作為一種更輕、更友好的 Web services客戶端的格式(多採用瀏覽器的形式或訪問 REST風格 Web服務的Ajax應用程序的形式)引起了 Web 服務供應商的注意。
JSON剖析:優點和不足
對於JSON,首先要明白JSON和XML一樣也是一種簡單文本格式。相對於XML,它更加易讀、更便於肉眼檢查。在語法的層面上,JSON與其他格式的區別是在於分隔數據的字符,JSON中的分隔符限於單引號、小括號、中括號、大括號、冒號和逗號
乍看上去,使用JSON的數據分隔符的優點可能並不那麼明顯,但存在一個根本性的緣由:它們簡化了數據訪問。使用這些數據分隔符時, JavaScript引擎對數據結構(如字符串、數組、對象)的內部表示恰好與這些符號相同。
這將開創一條比DOM技術更為便捷的數據訪問途徑。下面列舉幾個JavaScript代碼片段來說明這一過程,這些代碼片段會訪問先前的JSON代碼片段中的信息:
訪問JSON中的名稱: addressbook.name
訪問JSON中的地址: addressbook.address.street
訪問JSON中的電話號碼第一位:addressbook.address.phoneNumbers[0]
如果您具備DOM編程經驗,就能很快地看出區別;新手可以參看 Document Object Model 的這一外部資源,這裡提供了關於數據導航的實例。
JSON的另一個優點是它的非冗長性。在XML中,打開和關閉標記是必需的,這樣才能滿足標記的依從性;而在JSON中,所有這些要求只需通過一個簡單的括號即可滿足。在包含有數以百計字段的數據交換中,傳統的XML標記將會延長數據交換時間。目前還沒有正式的研究表明JSON比XML有更高的線上傳輸效率;人們只是通過簡單的字節數比較發現,對於等效的JSON和XML有效負載,前者總是小於後者。至於它們之間的差距有多大,特別是在新的XML壓縮格式下它們的差距有多大,有待進一步的研究。
此外,JSON受到了擅長不同編程語言的開發人員的青睞。這是因為無論在Haskell中或 Lisp中,還是在更為主流的C#和PHP中,開發都可以方便地生成JSON(詳見 參考資料)。
不足
和許多好東西都具有兩面性一樣,JSON的非冗長性也不例外,為此JSON丟失了XML具有的一些特性。命名空間允許不同上下文中的相同的信息段彼此混合,然而,顯然在JSON中已經找不到了命名空間。JSON與XML的另一個差別是屬性的差異,由於JSON採用冒號賦值,這將導致當XML轉化為JSON時,在標識符(XML CDATA)與實際屬性值之間很難區分誰應該被當作文本考慮。
另外,JSON片段的創建和驗證過程比一般的XML稍顯複雜。從這一點來看,XML在開發工具方面領先於JSON。儘管如此,為了消除您對這一領域可能存在的困惑,
json是什麼文件
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個子集。
JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數據交換語言。
JSON建構於兩種結構,一是“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。
二是值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。
擴展資料:
JSON簡要歷史
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個子集。
JSON是Douglas Crockford在2001年開始推廣使用的數據格式,在2005年-2006年正式成為主流的數據格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。
參考資料來源:百度百科—json
java中處理JSON的開源工具都有些什麼?那個比較好用
我用過的有jackson,谷歌的gson,阿里的fastjson
fastjson在遍歷JSONObject的時候順序不是有序的,想要有序還得改源碼,比較麻煩,序列化對象時屬性的順序也不能保證,是我放棄使用的主要原因
gson是用起來是最痛快的,一句話就能解決
String string = new Gson().toJson(user);
User user = new Gson().fromeJson(string, User.class);
特點是不報錯,如果輸入的json字符串和Java Bean的屬性對應不上,相應屬性會為null或默認值
這是優點還是缺點就見仁見智了,至少我在轉換一些不太規則的API返回值時還是挺方便的。
json數據之外還有什麼數據?
json只是數據的表達格式,跟他同一個層次的另外一種表達方式XML
你問的是一個網絡通信問題,你可以去學學網絡七層協議
ajax是網頁開發技術,你可以學一點http的知識
json格式
json格式:
1、數組字面量
數組字面量,是用一對方括號括起一組用逗號隔開的 javascript 值,例如:
var aNames=[“hello”, 12, true , null];
2、 對象字面量
對象字面量,是通過兩個花括號來定義的。在花括號內可以放置任意數量的“名稱-值”對,定義格 式字符串值”。除了最後一行外,每個“名稱-值”對後必須有一個逗號(這與Perl 中的聯合數組的定義有些類似)。例如:
var oCar = {
“color”: “red”,
“doors” : 4,
“paidFor” : true
};
3、 混合字面量
可以混用對象和數組字面量,來創建一個對象數組,或一個包含數組的對象。例如:
{comments:[
{
id:1,
author:”someone1″,
url:””,
content:”hello”
},
{
id:2,
author:”someone2″,
url:””,
content:”hello”
},
{
id:3,
author:”someone3″,
url:””,
content:”hello”
}
]};
4、JSON 語法
在Ajax應用中,就是服務器直接生成javascript語句,客戶端獲取後直接用eval方法來獲得這個對象,這樣就可以省去解析XML的性能損失。 同時,在javascript 通信中使用JSON作為數據格式的好處很名下,可以立即獲得數據的值,因此可以更快的訪問其中包含的數據。
var oCarInfo = eval(“(” + sJSON + “)”);
請記住:在javascript中花括號也是一個語句。要讓解析器知道這個花括號表示的是一個對象而非一個語句的唯一方法是能否找到封裝它的圓括號 (是用來說明代碼是一個表達式而非一個語句)。
json文件在實際開發中一般存放什麼數據?
希望下面的內容能給你帶來參考:
JSON是輕量級的文本數據存儲和交換格式。類似XML。
JSON的兩種結構:對象(Map)和數組(Array)
對象是鍵值對形式的Map,鍵和值之間用“ : ”隔開,兩個Map之間用“, ”隔開,多個Map被包括在大括號{ }之間形成JSON對象。
數組結構被包括在中括號[ ]之間,其中包括0或多個以” , ”分隔的Map對象。
JSON數據示例:
①簡單json對象
一個json對象,對象包括2個屬性,name和age。
②簡單json數組
一個json數組,數組裡面包括2個對象,每個對象包括2個屬性。
③稍微複雜
一個json對象,包括2個屬性,data和result,而result對應的是一個json數組,該數組裡面包含兩個json對象。
④再複雜點點
一個json對象,包含3個json數組,其中數組programmers和authors包含各一個json對象,而musicians包含兩個json對象。
原創文章,作者:MABE9,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130407.html