Hello! 欢迎来到小浪云!


JSON知识详解


avatar
小浪云 2025-02-18 25

json数据结构详解及JavaScript、.net应用

JSON拥有两种基本结构:对象和数组。

对象结构以“{”起始,“}”结束,包含零个或多个由逗号分隔的键值对,键值对之间用冒号分隔。键为字符串,值可以是字符串、数字、布尔值(true/false)、null、对象或数组。 例如:

{   "key1": "value1",   "key2": 123,   "key3": true }

数组结构以“[”起始,“]”结束,包含零个或多个由逗号分隔的值。这些值可以是任何json数据类型。例如:

[   "value1",   123,   true,   {     "nestedKey": "nestedValue"   } ]

区分JSON字符串、JSON对象和普通字符串

JavaScript中:

  • 普通字符串: 用单引号(‘ ‘)或双引号(” “)括起来的字符序列,例如:var str = ‘Hello’;
  • JSON字符串: 符合JSON语法规则的字符串,例如:var jsonStr = ‘{“name”: “John”, “age”: 30}’; 注意:它仍然是一个字符串,只是内容符合JSON格式。
  • JSON对象: 一个JavaScript对象,其结构与JSON对象相同,例如:var jsonObject = { name: “John”, age: 30 }; 这是JSON字符串解析后的结果。

JavaScript中JSON的使用

JSON是JavaScript的子集,因此在JavaScript中操作JSON非常方便。 可以使用点号(.)或方括号([])访问JSON数据。

示例:

var myJSON = {   "name": "Alice",   "age": 25,   "address": {     "city": "New York"   } };  console.log(myJSON.name);       // 输出: Alice console.log(myJSON["age"]);     // 输出: 25 console.log(myJSON.address.city); // 输出: New York  // 添加属性 myJSON.country = "USA";  // 修改属性 myJSON.age = 26;  // 删除属性 delete myJSON.address;  // 遍历对象 for (const key in myJSON) {   console.log(key + ": " + myJSON[key]); }

.NET中JSON的使用 (使用Newtonsoft.Json)

Newtonsoft.Json (Json.NET) 是一个流行的.NET JSON库。

  1. 序列化:将.NET对象转换为JSON字符串

使用 JsonConvert.SerializeObject() 方法:

using Newtonsoft.Json;  // ... your .NET object ...  string jsonString = JsonConvert.SerializeObject(yourObject); 
  1. 反序列化:将JSON字符串转换为.NET对象

使用 JsonConvert.DeserializeObject() 方法:

using Newtonsoft.Json;  string jsonString = "{ "name": "Bob", "age": 40 }";  YourObjectType myObject = JsonConvert.DeserializeObject<YourObjectType>(jsonString);
  1. 使用linq to JSON定制JSON数据

LINQ to JSON 提供更精细的JSON操作,允许构建和修改JSON结构。 这在需要自定义JSON输出格式时非常有用,例如构建分页响应:

using Newtonsoft.Json.Linq;  JObject response = new JObject(     new JProperty("total", 100),     new JProperty("data", new JArray(         new JObject(new JProperty("id", 1), new JProperty("name", "Item 1")),         new JObject(new JProperty("id", 2), new JProperty("name", "Item 2"))     )) );  string jsonString = response.ToString();

总结

JSON是一种轻量级的数据交换格式,在JavaScript和.NET等多种编程语言中都有广泛应用。 熟练掌握JSON的结构和使用方法,对于构建高效的Web应用程序至关重要。 选择合适的库(如Newtonsoft.Json)可以简化.NET中的JSON操作。

JSON知识详解JSON知识详解JSON知识详解JSON知识详解JSON知识详解JSON知识详解JSON知识详解JSON知识详解JSON知识详解

(请注意:以上图片路径是示例,需要替换为实际图片路径。)

相关阅读