Json教程

本文介绍了JSON的基本概念,包括其语法特点、数据结构及如何在JavaScript中进行操作。同时讲解了JSON与JavaScript对象的区别,以及如何将JSON文本转换为JSON对象。

国际惯例,先来个名词解释

  • JSON:JavaScript 对象表示法(JavaScript Object Notation)。
  • JSON 是存储和交换文本信息的语法。类似 XML。
  • JSON 比 XML 更小、更快,更易解析。

Json格式

  • 语法规则:
    JSON 语法是 JavaScript 对象表示法语法的子集。
    数据在键/值对中
    数据由逗号分隔
    花括号保存对象
    方括号保存数组
    形如格式: { “key”:”value” , “key”:”value” }
    js中案例:var jsonobj = {“name”:”peter”,”age”:25};
    使用时,直接使用json对象加点访问属性
<script type="text/javascript">
        var jsonobj = {"name":"peter","age":25};
        alert(jsonobj.name);        
        var jsonarr = [ {"name":"sun","age":25} ,
         {"name":"xu","age":25} , jsonobj];
        for(var i = 0 ; i < jsonarr.length ;i++){
            alert(jsonarr[i].name);
        }
        var jsonobj1 = {"name":"peter","birthday":
        {"year":1990,"month":1,"day":1} }
        alert(jsonobj1.birthday.year);
        var jsonobj2 = 
        {"name":"peter","isLogin":true};
        if( true == jsonobj2.isLogin){
            alert(jsonobj2.isLogin);
        }
</script>


  • Json值的类型

string,number,boolean,object,array,null

  • Json文件

    JSON 文件的文件类型是 “.json”
    JSON 文本的 MIME 类型是 “application/json”

  • Json对象与Json文本

    JSON对象: var jsonobj = {“name”:”peter”,”age”:25};
    JSON文本: var jsontxt = “{“name”:”peter”,”age”:25}”;


  • 一个满足json对象格式的文本字符串叫做json文本。
    请求/响应只能是文本格式。
    以响应方式发送的内容也一定是文本格式。
    所以当我们使用ajax时,接收的都是JSON文本。
    怎么将一个json文本转换成一个json对象。
    使用到一个叫eval()的javascript函数。
    var jsonobj = eval( “(“+jsontxt+”)” );
    这时候jsontxt就转化为jsonobj,就可以通过加点访问属性
### JSON 教程详解 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。以下是关于 JSON 的详细讲解。 #### 一、JSON 数据结构 JSON 支持以下几种基本数据类型[^3]: - **字符串(String)**:由双引号括起来的字符序列,例如 `"Hello World"`。 - **数字(Number)**:包括整数和浮点数,例如 `42` 或 `3.14`。 - **布尔值(Boolean)**:即 `true` 或 `false`。 - **数组(Array)**:值的有序集合,例如 `[1, 2, 3]`。 - **对象(Object)**:键值对的无序集合,例如 `{"key": "value"}`。 - **空值(null)**:表示空数据,例如 `null`。 #### 二、JSON 的优点 JSON 具有以下显著优点: - **轻量级**:相比 XML 等格式,JSON 更加简洁,减少了数据传输量[^3]。 - **易于阅读和书写**:其结构简单,符合大多数开发者的习惯,便于阅读和手动书写[^3]。 - **解析效率高**:JSON 的解析速度非常快,特别适合在浏览器和服务器之间进行数据交互[^3]。 - **良好的语言支持**:几乎所有的编程语言都提供了对 JSON 的良好支持,方便开发者在不同的技术栈中使用。 #### 三、JSON 的常见应用场景 JSON 广泛应用于以下场景: - **Web API 数据传输**:JSON 常用于 RESTful API 的请求和响应格式,用于前后端之间的数据传输[^3]。 - **配置文件**:JSON 格式常用作配置文件,简单明了,易于修改和解析。 - **数据存储**:一些 NoSQL 数据库(如 MongoDB)使用 JSON 或类似 JSON 的格式来存储数据[^3]。 - **跨平台数据交换**:JSON 可以用于不同平台、不同编程语言之间的数据交换,确保数据的一致性和兼容性[^4]。 #### 四、JSON 示例 以下是一个简单的 JSON 数据示例: ```json { "Name": "C语言中文网", "Url": "http://c.biancheng.net/", "Tutorial": "JSON", "Article": [ "JSON 是什么?", "JSONP 是什么?", "JSON 语法规则" ] } ``` 上述 JSON 数据包含了一个网站的基本信息,包括名称、URL、教程主题以及相关文章列表[^1]。 #### 五、如何解析 JSON? 在编程语言中,通常可以使用内置库或第三方库来解析 JSON 数据。例如,在 Python 中可以使用 `json` 模块解析 JSON 字符串: ```python import json # JSON 字符串 json_str = '{"name": "United States", "population": 331002651, "capital": "Washington D.C.", "languages": ["English", "Spanish"]}' # 解析 JSON 字符串为 Python 字典 data = json.loads(json_str) # 输出解析后的数据 print(data) ``` 上述代码展示了如何将 JSON 字符串转换为 Python 字典。 #### 六、JSON 的高级特性 - **JSONB**:在 PostgreSQL 中,JSONB 提供了对 JSON 数据的高效索引和查询支持[^2]。 - **TopoJSON**:这是一种基于 JSON 的地理数据格式,适用于地图绘制等场景[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值