搜尋
首頁web前端js教程JSON為什麼那麼紅為什麼要用json(另有洞天)_基礎知識

json是1年內迅速紅遍全球的東東。
現在解釋JSON是什麼,大家都會說我老土吧,這裡我想分析一下json紅的原因,我們又得到什麼啟示呢。
json是什麼,json.org是一種簡潔有效的資料載體,是一種用字串表示複雜js物件的方式,後端好生成,前端0解釋。
它的風行和一下幾點原因離不開的。

持久化的風潮
persistence是javaEE5引入的重要模組。
php先天具備持久化特性每個變數都可以serialize()和unserialize()與字串相互轉換。
持久化帶來最直接的好處就是複雜物件儲存和傳輸,衡量持久化機制的優劣的重要標準是效率。

WEB2.0的推動
Ajax引發了Web2.0革命,其中的x是xml。在ajax中xml是作為前後台資料傳輸的載體的。
隨著Web2.0的大規模應用,xml解釋的效率問題就暴露無疑了,xml是具有非常嚴禁的結構,這造成了任何瀏覽器把xml裝入,解釋成javaScript可以訪問的對象的過程是漫長的。而json是js預設支援的最簡潔物件創建方式,js接收他是輕鬆加愉快的,所以在持久化資料傳輸的舞台上json靠效率取勝。

JSON本身易用
Ajax為什麼一些老技術結合起來突然火了呢,因為易用。說穿了自從上世紀有了DHTML,無刷新非同步資料傳輸的解決方式絕不隻隻有xmlHttpRequest一家。隱藏的iframe完全可以做到,而且一直也有人這麼幹。 Ajax紅了在於其易用性,所以幾家領軍企業對期的大規模應用引發Web2.0.
JSON同樣易用,會了JSON之後我已經用var obj = {};var arr = [ ]取代了var obj = new Object();var obj = new Array()。 JSON是js中最簡潔的物件定義方式,對於會js,用過eval()的朋友基本上沒有什麼學習成本。

以XML為代表的樹形結構的風靡:
從資料結構的角度看xml的流行,因為xml是一顆樹,樹狀的資料結構在像xml一樣除了本身的內容節點再加上屬性節點之後的威力如何大家都有體會,DOM就是這種結構,UML就是這種結構。
當我們用數據去描述客觀世界的時候發現僅靠關係數據模型中的二維表已顯笨拙,樹形結構是更接近思維的一種,這也是人們在做會議記錄時不在是notepad而使用freemind的原因。同樣使用二維表,記錄parentid的方式儲存樹的效率低下也給了LADP的發展空間。
說回來JSON,他是一種定義JS物件的方式,而JS中的Object是一樹的形式組織的實體,所以JSON定義的物件在描述資料的功能上是足夠的。

再說幾個JSON相關的話題
JSON是解決xml效率問題的唯一途徑麼?
也不盡然,在本人不知道json之前,在使用div傳輸資料。
後台傳到前台的是xmlHttp.responseText = '

lenel
';
然後前台接受資料時使用
複製程式碼 程式碼如下:

function toDivElememnt(s){
var oDiv = Element.create" );
oDiv.innerHTML = s;
oDiv = oDiv.firstChild;
return oDiv;
}

這個方法裡面我沒有用js來解釋而是用DOM來解釋HTML串,這也是相當自然的,前面已經說過HTML串也是樹狀結構,我拿到oDiv之後就可以訪問到age,personid等等屬性了,效率也是相當可以的,呵呵。
這不是我的原創啊,來自與我從前的Leader,牛人啊,良師益友。

JSON會取代XML麼?
不會,在Ajax這個領域可能我們會搞Ajaj,但是XML如果只能做這點事那就不是XML了:)

還沒用JSON麼?
不要落伍了哈哈,當前主流的後台語言都有在後台產生、解析JSON的API,具體怎麼用json,API去哪兒找http://www.json.org看看吧

我們真的得到什麼啟示麼?
我還是沒總結出來具體的,但是我認為語言是相通的,javaScript不能IOC麼?
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
VUE3怎么使用JSON编辑器VUE3怎么使用JSON编辑器May 12, 2023 pm 05:34 PM

1、先看看效果图,可以自行选择展示效果2、这是我在vue3项目中使用的JSON编辑器,首先引入第三方插件npminstalljson-editor-vue3yarnaddjson-editor-vue33、引入到项目中//导入模块importJsonEditorVuefrom'json-editor-vue3'//注册组件components:{JsonEditorVue},4、一般后端返回的是会将JSON转为String形式我们传给后端也是通过这种形式,就可以通

SpringBoot之Json的序列化和反序列化问题怎么解决SpringBoot之Json的序列化和反序列化问题怎么解决May 12, 2023 pm 04:07 PM

控制json序列化/反序列化1.@JsonIgnoreProperties的用法@JsonIgnoreProperties(value={"prop1","prop2"})用来修饰Pojo类,在序列化和反序列化的时候忽略指定的属性,可以忽略一个或多个属性.@JsonIgnoreProperties(ignoreUnknown=true)用来修饰Pojo类,在反序列化的时候忽略那些无法被设置的属性,包括无法在构造子设置和没有对应的setter方法.2.@Js

Java怎么调用接口获取json数据解析后保存到数据库Java怎么调用接口获取json数据解析后保存到数据库May 14, 2023 am 10:58 AM

Java调用接口获取json数据保存到数据库1.在yml文件中配置自己定义的接口URL//自己定义的JSON接口URLblacklist_data_url:接口URL2.在Controller中添加请求方法和路径/***@Title:查询*@Description:查询车辆的记录*@Author:半度纳*@Date:2022/9/2717:33*/@GetMapping("/Blacklist")publicvoidselectBlacklist(){booleana=imB

深入解析JWT(JSON Web Token)的原理及用法深入解析JWT(JSON Web Token)的原理及用法Jan 10, 2023 am 10:55 AM

本篇文章给大家带来了关于JWT的相关知识,其中主要介绍了什么是JWT?JWT的原理以及用法是什么?感兴趣的朋友,下面一起来看一下吧,希望对大家有帮助。

php输出json无法解析的原因和解决方法【总结】php输出json无法解析的原因和解决方法【总结】Mar 23, 2023 pm 04:35 PM

PHP作为一种常见的编程语言,在web开发中使用广泛,其与前端交互的方式也多种多样。其中,输出Json数据是一种常见的交互方式,但有时候会碰到Json无法解析的问题。为什么会出现无法解析的情况呢?下面列举了几个可能的原因。

java怎么校验json的格式是否符合要求java怎么校验json的格式是否符合要求May 15, 2023 pm 04:01 PM

JSONSchemaJSONSchema是用于验证JSON数据结构的强大工具,Schema可以理解为模式或者规则。JsonSchema定义了一套词汇和规则,这套词汇和规则用来定义Json元数据,且元数据也是通过Json数据形式表达的。Json元数据定义了Json数据需要满足的规范,规范包括成员、结构、类型、约束等。JSONSchema就是json的格式描述、定义、模板,有了他就可以生成任何符合要求的json数据json-schema-validator在java中,对json数据格式的校验,使用

php如何将xml转为json格式?3种方法分享php如何将xml转为json格式?3种方法分享Mar 22, 2023 am 10:38 AM

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

SpringBoot怎么返回Json数据格式SpringBoot怎么返回Json数据格式May 19, 2023 pm 11:49 PM

一、@RestController注解在SpringBoot中的Controller中使用@RestController注解即可返回JSON格式的数据。@RestController注解包含了@Controller和@ResponseBody注解。@ResponseBody注解是将返回的数据结构转换为JSON格式。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@Respons

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境