当前位置:首页 > Web开发 > 正文

所以现在很多的ajax等都使用json

2024-03-31 Web开发

此刻越来越多的项目和开发插件等默认城市撑持和使用json数据格局,作为数据连结、传输的一种方法。 
说是此中一种,就标示还有好多其他格局。好比:最多是xml。webservice的标准数据格局。 
不过由于json是JavaScript 东西暗示法(JavaScript Object Notation),天生就对js撑持很好, 
所以此刻很多的ajax等都使用json,反而会更好措置惩罚惩罚一些。

1、界说

什么是 JSON ?
1.JSON 指的是 JavaScript 东西暗示法(JavaScript Object Notation)
2.JSON 是轻量级的文本数据交换格局
3.JSON 独立于语言 *
4.JSON 具有自我描述性,更易理解
* JSON 使用 JavaScript 语法来描述数据东西,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库撑持许多差此外编程语言。
w3c的标准说明如下:
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建构于两种布局:

1.“名称/值”对的调集(A collection of name/value pairs)。差此外语言中,它被理解为东西(object),纪录(record),布局(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据布局。事实上大部分现代计算机语言都以某种形式撑持它们。这使得一种数据格局在同样基于这些布局的编程语言之间交换成为可能。

JSON具有以下这些形式:

东西是一个无序的“‘名称/值‘对”调集。一个东西以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值‘ 对”之间使用“,”(逗号)分隔断绝分手。

技术图片

注意:如果后台直接通报东西来js,则是json格局的。参考文章:

[Jquery+asp.net 后台数据传到前台js进行解析的步伐说明]
[jquery ajax通报东西(数组)到后台并解析的实现]

数组是值(value)的有序调集。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔断绝分手。

技术图片




注意:通报数据这个就好理解。其实就一个array。array和json直接的关系,请参考文章: 

[javascript东西及数组 json的一些了解说明] 

2、json标准: 

json暗示:我没有标准。哈哈。我说的标准是指什么样的格局化的字符串js才华解析成json? 

下面这个json串就是正确的:

复制代码代码如下:


{
    "employees": [
        {
            "firstName": "Bill",
            "lastName": "Gates"
        },
        {
            "firstName": "George",
            "lastName": "Bush"
        },
        {
            "firstName": "Thomas",
            "lastName": "Carter"
        }
    ]
}

注意:

json串,在js中会解析成东西。此中东西的名称好比:
employees、firstName,必需用""或者‘‘引起来才行。后面的value,如果是int和bool(js是不区分的哦),可以不用""或者‘‘引起来,其他的字符串必需引起来,尤其是记得把时间日期引起来!

总结如下:

里面的是一个东西,如果是多个东西,则用逗号间隔,即{},{},这样就构成了一个东西序列,为了鉴别开始和结束,则需要加上[]才华进行通报,则实际通报的形式应该是[{},{}],如果只要通报一个东西,则{}的形式就可以了。接下来就是东西属性的表示方法了,属性必需在""
里面,属性与值之间用:离隔,属性之间用,来分隔断绝分手,如果属性的值为数组,则用[]包孕起来,这样实际通报的数据格局可能有:1、{"属性1":值1,"属性2":值2},如果值为字符串,则也需要用""括起来(下同)。2、{"属性1":值1,"属性2":[值1,值2]},此中属性2是一个数组,包罗
了值1和值2。3、{"属性1":值1,"属性2":{"属性a":值a,"属性b":[值b,值c]}},这个对照庞大了,属性2是个东西,这个东西由包罗属性a和属性b,属性b又是一个数组包罗值b和值c。我想这些应该是最根基了,其余的就是在此根本上的拓展而已。

实际中,要序列化东西,在.net中只要挪用Newtonsoft.Json.JavaConvert.SerializeObject();函数即可

参考:

jquery ajax通报东西(数组)到后台并解析的实现 



3、json有这么多要求(其实不久不多了),我们怎么判断其正确性?

有步伐,,就是你打印出来字符串,本身的凭据上面的布局对应一下,或者直接使用在线查验工具查验。

参考: 

json字符串的标准格局

标签:

原文地点:https://www.cnblogs.com/lgj8/p/12325466.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29975.html