Fastjson對象轉(zhuǎn)map JAVA為什么要返回JSON數(shù)據(jù)?
JAVA為什么要返回JSON數(shù)據(jù)?這個問題,更確切提問應(yīng)該要是:數(shù)據(jù)只是請求為什么要前往json數(shù)據(jù),特別是前端與后端的交互,JAVA只是許多編程語言的一種,現(xiàn)在論用什么編號語言,大部分后端與前端基本
JAVA為什么要返回JSON數(shù)據(jù)?
這個問題,更確切提問應(yīng)該要是:數(shù)據(jù)只是請求為什么要前往json數(shù)據(jù),特別是前端與后端的交互,JAVA只是許多編程語言的一種,現(xiàn)在論用什么編號語言,大部分后端與前端基本是數(shù)據(jù)接受交互。
JSON是什么?
昨天彼此分享了《Spring Boot 返回 JSON 數(shù)據(jù),一分鐘搞定!》,好些人對JSON還沒有一個清晰的認識,今天棧長帶大家來見過下什么是JSON。
有一種就是JSON(JavaScript Object Notation)的輕量級數(shù)據(jù)交換格式還能夠松蠟XML的工作。它就是JSON。
數(shù)據(jù)格式比較比較簡單的,很易讀寫,格式大都壓縮的,電腦資源帶寬小,也易推導(dǎo)這種語言。
客戶端JavaScript也可以很簡單按照eval()并且JSON數(shù)據(jù)的讀取,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等語言服務(wù)器端語言,以便日后服務(wù)器端的解析。
各語言對JSON支持什么的不光好,當(dāng)初Ajax的流行,JSON格式傳輸就更不流行了。JSON常被用作序列化,推薦閱讀:關(guān)于Java序列化你應(yīng)該要知道的一切。
如果沒有到這里你還不很清楚?
JSON是什么,那就我就發(fā)大招了!
反正我在為公司面試時的時候,我偶爾會有提起,如果我還不知道JSON是個什么玩意?你怎么說說我,讓我很清楚是個什么東西。(下面都是我的個人明白,因明白因人而已,順耳即可?。?/p>
問了這么多多人,當(dāng)然結(jié)果也不是我想的,大多數(shù)的答案有這些。
它是前端和后臺用戶交互用的。它是注冊表鍵值對的。
以上2點都很多。也有一些亂七八糟的東西的已經(jīng)遠離目標了JSON。那就它估計是怎樣的?應(yīng)該是這么多回答我,個人其實!
簡單的方法,它只是一個字符串,它僅僅三個有規(guī)則的字符串。(重點)然后它的表達(表現(xiàn)出來)形式是鍵值對的。其實相當(dāng)帶有Java語言里的Map,Objective-C里的字典,其他語言都有填寫的,我說實話其他語言我可不知道!
我為啥用MapString泛型,而且理論上它的鍵值對估計全是字符串,Why?這個問題問的好,我這個可以這樣回答我你,因為它本身是字符串。
上面說的理論上表達,那么換算目前我們要用的鍵值對允許什么呢?可以支持什么String、Number、Array在內(nèi)Boolean、null什么的。
它的作用是為了交互的,不肯定會Web項目的前后端交互過程也是可以接口,配置文件,文件存儲等等都就ok啦。目前移動端也很火,好象的項目都會用JSON來傳輸。
它能受到什么?
簡潔明快、很簡單、體積小等。
入門太容易,又高效。
跨語言,目前移動端Android、IOS像是項目構(gòu)造也是其他語言需要提供接口(JSON),移動端無法讀取接口的開發(fā)。….
它和XML對比?
可讀性
看了網(wǎng)上的各種帖子,有說可讀性非常,但是基本是是說XML可讀性好,我如果說還湊和。也可以打打個平手。
可擴展性
他們都說,“XML天生有很好的擴展性,JSON不過也有,沒有什么是XML能擴展,JSON肯定不能的。
但是JSON在Javascript主場作戰(zhàn),是可以存儲文件Javascript合么對象,有著XML無法比擬的優(yōu)勢”。我深表贊同一半,我覺著這些帖子是老帖子,XML也可以靈活擴展是只不過各種語言有允許的其他Jar包,類庫等。
但早在JSON火出聲后,JSON的支持包,類庫等,不會相信每個語言都很多。像Java就有Jackson、goson、json-lib、FastJson等等多的回。
編碼難度
XML有有DOM,SAX,STAX等解析技術(shù),JSON也有我上面說的那些,都可以啦。
解碼難度
同上。
解碼編碼效率
噢!解析XML有清潔液CPU、你造嗎?
nodejs如何將map轉(zhuǎn)換為json?
givemapnextMap()(#39key1#39,#39value1#39)(#39key2#39,#39value2#39
)//Map轉(zhuǎn)JSON字符串letmap_string([]
)console.log(#39map-r26json:#39,map_string)//JSON字符串轉(zhuǎn)mapcan'tobj(map_string)can'tnew_mapfutureMap()for(givekeythe(string)){future_(key,string[key])}console.log(#39json-gtmap:#39,fun_map)