`
youyu4
  • 浏览: 436011 次
社区版块
存档分类
最新评论

3. JSON语法

    博客分类:
  • json
 
阅读更多

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

 

JSON 名称/值对

JSON 数据的书写格式是:名称/值对。

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"firstName" : "John"

这很容易理解,等价于这条 JavaScript 语句:

firstName = "John"

 

 

 

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

 

JSON 对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }

这一点也容易理解,与这条 JavaScript 语句等价:

firstName = "John"
lastName = "Doe"

 

 

JSON 数组

JSON 数组在方括号中书写:

数组可包含多个对象:

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

 

 

JSON 使用 JavaScript 语法

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

例子

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

可以像这样访问 JavaScript 对象数组中的第一项:

employees[0].lastName;

返回的内容是:

Gates

可以像这样修改数据:

employees[0].lastName = "Jobs";

 

 

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

 

分享到:
评论

相关推荐

    newtonsoft.json各个版本

    它基于 JavaScript 语法,但不依赖于 JavaScript 实现,是一种独立的语言无关的格式。JSON 通常用于前后端数据交互,因为其结构清晰,易于处理。 **Newtonsoft.Json** 库为 C# 和其他 .NET 语言提供了对 JSON 的...

    manifest.json(文档标准格式).rar

    如果manifest.json存在语法错误或缺少必要字段,这些工具会给出错误提示,帮助开发者快速定位并修复问题。 总结来说,manifest.json是现代Web技术和应用程序的核心组成部分,它为应用提供了清晰的标识和行为规范。...

    net.sf.json.JSONObject 依赖的包

    在使用`net.sf.json.JSONObject`时,需要注意的是,这个库可能不支持最新的JSON语法特性,例如JSON数组的空元素解析,以及某些复杂的嵌套结构处理。另外,由于这个库相对较老,对于性能和内存效率可能不如现代的JSON...

    Jquery.json.js

    其基本语法如下: ```javascript $.getJSON(url, [data], [callback]); ``` - `url`:指定要请求的JSON数据的URL。 - `[data]`:可选,发送到服务器的数据,通常是以键值对形式表示。 - `[callback]`:可选,当请求...

    Newtonsoft.Json

    8. **LINQ to JSON**:Newtonsoft.Json引入了LINQ to JSON API,允许开发者使用LINQ查询语法来操作JSON数据。 9. **Json.NET的高性能**:由于优化的算法和设计,Json.NET在处理大量JSON数据时表现优秀,速度远超...

    Newtonsoft.Json各个平台版本(.NET20/30/40/45)

    4. **LINQ to JSON**: 提供了类似于SQL的查询语法,便于操作JSON对象。 5. **类型转换**: 自动处理数据类型转换,如日期、时间、枚举等,也可以自定义转换器。 6. **高性能**: 通过优化的算法,`Json.NET`在速度和...

    Elasticsearch示例数据 logs.json shakespeare.json accounts.json

    导入完成后,我们可以利用Elasticsearch的丰富查询语法,进行各种复杂的搜索和分析操作。比如,对`logs.json`中的错误日志进行聚合分析,找出最常见的错误类型;对`shakespeare.json`中的台词进行主题模型分析,探索...

    Newtonsoft.Json.zip .net Freamework3.5版本

    3. **动态JSON**:支持动态操作JSON,无需预先定义类结构,便于快速处理未知或灵活的数据格式。 4. **自定义转换器**:允许用户自定义如何序列化和反序列化特定类型的对象,以满足特定需求。 5. **高性能**:...

    org.json Jar包

    - `JSONException`:在处理JSON过程中抛出的异常,例如语法错误或数据不匹配。 - `JSONTokener`:用于解析JSON字符串,提供`next()`和`back()`等方法来移动解析位置。 - `XML`:类,提供了将XML转换为JSON的功能...

    Node.js-验证一个package.json文件

    - **语法错误**:JSON格式要求括号、引号必须匹配,键值对用冒号分隔。 - **缺失字段**:必要的字段如`name`、`version`未设置。 - **无效的版本号**:版本号格式不正确,应遵循SemVer规范。 - **依赖冲突**:依赖的...

    jquery.json2xml.js和jquery.xml2json.js

    XML的灵活性使其在多种应用场景下都非常有用,但其相对复杂的语法和解析过程可能会比JSON更耗时。 **jQuery的JSON与XML转换** `jquery.json2xml.js` 脚本允许开发者将JSON对象转换为XML字符串。在JavaScript中,你...

    Newtonsoft.Json.zip

    3. **动态JSON操作**:`JObject`、`JArray`和`JToken`等类允许开发者动态操作JSON数据,无需预先定义数据模型。 4. **自定义序列化选项**:通过`JsonSerializerSettings`,你可以定制序列化过程,比如忽略空值、...

    jquery.json-viewer.js

    jquery.json-viewer.js是一款查看json格式数据的jquery插件。它可以将混乱的json数据漂亮的方式展示在页面中,并支持节点的伸展和收缩和语法高亮等功能。

    org.json.*

    例如,解析错误、非法JSON语法等。 6. **JSONWriter**: 提供了一种方法来写入JSON结构到输出流或字符串,支持缩进和控制结构的嵌套。 7. **JSONParser**: 这个接口定义了解析JSON的方法,虽然在org.json库中没有...

    jquery.json-viewer, 用于显示JSON数据的jQuery插件.zip

    jquery.json-viewer, 用于显示JSON数据的jQuery插件 jQuery浏览器JSON浏览器是一个jQuery插件,它可以通过将JSON对象转化为HTML来轻松显示JSON对象。功能:语法高亮显示在单击时折叠和展开子节点可以点击链接易于...

    Elasticsearch官方提供数据案例account.json

    Elasticsearch支持多种查询语法,包括简单查询、过滤器、聚合、脚本字段和自定义评分等。 **Kibana可视化** 配合Kibana,Elasticsearch的可视化工具,用户可以将这些数据转化为直观的图表和仪表板。Kibana提供数据...

    Newtonsoft.Json.Lite for .Net2.0以上

    3. **类型映射**:库自动处理.NET类型与JSON类型的映射,如DateTime到ISO 8601日期时间格式的转换。 4. **自定义序列化**:允许开发者通过实现特定接口来自定义对象的序列化行为。 5. **性能优化**:作为轻量级库...

    适合.net 2.0/3.5/4.0的Newtonsoft.Json.dll

    3. **.NET Framework**:这是一个由微软开发的软件框架,提供了运行托管代码所需的基础结构。不同版本的.NET Framework支持不同的语言特性和API,因此需要选择与项目框架版本相匹配的 `Newtonsoft.Json.dll`。 4. *...

    org.json的jar

    7. **验证 JSON**:`org.json` 提供 `isValid()` 方法检查字符串是否符合JSON语法。 8. **处理 JSONPath**:虽然 `org.json` 自身不支持JSONPath(一种查询JSON的表达式),但可以通过第三方库结合使用,如Jayway ...

    Newtonsoft.Json.dll类库|Json类库.zip

    3. **动态JSON操作**: Newtonsoft.Json提供JObject、JArray和JToken等类,可以方便地进行动态JSON操作,无需先创建强类型对象。 4. **设置序列化选项**: 可以通过`JsonSerializerSettings`类设置各种序列化选项,如...

Global site tag (gtag.js) - Google Analytics