9. json
**JSON**
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写。它是基于JavaScript语言的一种数据表示法,但其设计目的是作为一种独立于语言的数据交换格式。
### JSON 的特点1. **易读易写**:JSON 的语法简单,易于理解和书写。
2. **轻量级**:JSON 比 XML 更小,更快,更容易解析。
3. **独立于语言**:JSON 不依赖于任何编程语言,可以在任何语言中使用。
4. **人性化**:JSON 使用了类似 JavaScript 对象的语法,易于理解和书写。
### JSON 的基本数据类型1. **对象(Object)**:一个键值对的集合,例如 `{ "name": "John", "age":30 }`。
2. **数组(Array)**:一组有序的值的集合,例如 `[ "apple", "banana", "orange" ]`。
3. **字符串(String)`:一个文本值的集合,例如 `"Hello, World!"`。
4. **数字(Number)`:一个数值的集合,例如 `123` 或 `-456.789`。
5. **布尔值(Boolean)`:一个逻辑值的集合,例如 `true` 或 `false`。
6. **null**:一个表示空值的特殊值。
### JSON 的使用场景1. **数据交换**:JSON 可以用来传递数据之间的通信,如 Web服务、API 等。
2. **存储和加载**:JSON 可以用来存储和加载数据,如配置文件、缓存等。
3. **展示数据**:JSON 可以用来展示数据,如表格、图表等。
### JSON 的编程语言支持1. **JavaScript**:JSON 是 JavaScript语言的一部分,可以直接使用 JSON 对象。
2. **Python**:Python 有一个内置的 json 模块,可以方便地操作 JSON 数据。
3. **Java**:Java 有一个内置的 org.json 模块,可以方便地操作 JSON 数据。
4. **C#**:C# 有一个内置的 System.Text.Json 模块,可以方便地操作 JSON 数据。
### JSON 的示例代码#### JavaScript
javascript// 创建一个 JSON 对象let person = { "name": "John", "age":30, "city": "New York" }; // 将 JSON 对象转换为字符串let jsonStr = JSON.stringify(person); console.log(jsonStr); // {"name":"John","age":30,"city":"New York"} // 将 JSON 字符串转换为 JSON 对象let personObj = JSON.parse(jsonStr); console.log(personObj); // { name: 'John', age:30, city: 'New York' }
#### Python
import json# 创建一个 JSON 对象person = { "name": "John", "age":30, "city": "New York" } # 将 JSON 对象转换为字符串json_str = json.dumps(person) print(json_str) # {"name":"John","age":30,"city":"New York"} # 将 JSON 字符串转换为 JSON 对象person_obj = json.loads(json_str) print(person_obj) # {'name': 'John', 'age':30, 'city': 'New York'}
#### Java
javaimport org.json.JSONObject; public class Main { public static void main(String[] args) { // 创建一个 JSON 对象 JSONObject person = new JSONObject(); person.put("name", "John"); person.put("age",30); person.put("city", "New York"); // 将 JSON 对象转换为字符串 String jsonStr = person.toString(); System.out.println(jsonStr); // {"name":"John","age":30,"city":"New York"} // 将 JSON 字符串转换为 JSON 对象 JSONObject personObj = new JSONObject(jsonStr); System.out.println(personObj); // { name=John, age=30, city=New York } } }
#### C#
csharpusing System.Text.Json; public class Person{ public string Name { get; set; } public int Age { get; set; } public string City { get; set; } } class Program{ static void Main(string[] args) { // 创建一个 JSON 对象 Person person = new Person(); person.Name = "John"; person.Age =30; person.City = "New York"; // 将 JSON 对象转换为字符串 string jsonStr = JsonSerializer.Serialize(person); Console.WriteLine(jsonStr); // {"Name":"John","Age":30,"City":"New York"} // 将 JSON 字符串转换为 JSON 对象 Person personObj = JsonSerializer.Deserialize(jsonStr); Console.WriteLine(personObj); // { Name = John, Age =30, City = New York } } }
以上是对JSON的基本介绍和示例代码。JSON是一种轻量级、易读易写的数据交换格式,广泛应用于Web服务、API等领域。