


Detailed explanation of ASP.NET's method of extracting multi-layer nested json data
This article mainly introduces the method of ASP.NET to extract multi-layer nested json data, and the method of using the third-party class library Newtonsoft.Json to extract multi-layer nested json data. Those who are interested can learn about it.
The example in this article describes the method of ASP.NET using the third-party class library Newtonsoft.Json to extract multi-layer nested json data. The specific example is as follows.
Assume that the json string that needs to be extracted is as follows:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}
First quote the namespace:
using Newtonsoft.Json; using Newtonsoft.Json.Linq;
You can regard the above json string as an object, just write the corresponding class (if you use VS2013 for development, you can use "Edit--Paste Special--Paste JSON as a class" "Quickly convert json string to entity class)
public class UserInfo { public string name; public int age; public address addr; } public class address { public string city; public string province; }
1. The code to convert json string to entity object is as follows:
string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}"; UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));
2. To read the value of an attribute in json, you can use the following code:
JObject jsonObj = JObject.Parse(jsonData); string name=jsonObj ["name"].ToString(); string age=jsonObj ["age"].ToString(); string city=((JObject )jsonObj ["addr"])["city"].ToString(); string province=((JObject )jsonObj ["addr"])["province"].ToString();
3 , interpret multi-layer nested json, and get the value of any attribute:
If the json string that needs to be processed is as follows:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}};
Then let If you input an object, such as "city", the system will output "guangzhou", and if you input "age", it will output "23". Since json is multi-level nested, it needs to be traversed one by one. The code is as follows:
public string GetJsonValue(JEnumerable<JToken> jToken, string key) { IEnumerator enumerator = jToken.GetEnumerator(); while (enumerator.MoveNext()) { JToken jc = (JToken)enumerator.Current; if (jc is JObject || ((JProperty)jc).Value is JObject) { return GetJsonValue(jc.Children(), key); } else { if (((JProperty)jc).Name == key) { return ((JProperty)jc).Value.ToString(); } } } return null; }
Code for calling GetJsonValue:
string jsonData = "{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}"; JObject jsonObj = JObject.Parse(jsonData); Response.Write(GetJsonValue(jsonObj.Children(), "province"));
If it is a multi-layer nested array, you can also use the following code:
string jsonData = "{\"addr\":[{\"city\":\"guangzhou\",\"province\":\"guangdong\"},{\"city\":\"guiyang\",\"province\":\"guizhou\"}]}"; JObject jsonObj = JObject.Parse(jsonData); JArray jar = JArray.Parse(jsonObj["addr"].ToString()); JObject j = JObject.Parse(jar[0].ToString()); Response.Write(j["city"]);
4. JSON to XML:
Copy the code The code is as follows:
string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.ToString();
The above is the entire content of this article. I hope it will be helpful to everyone's study. I also hope that everyone will support the PHP Chinese website.
For more detailed explanations on how ASP.NET extracts multi-layered nested json data, please pay attention to the PHP Chinese website for related articles!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

This article explores the challenges of NULL pointer dereferences in C. It argues that the problem isn't NULL itself, but its misuse. The article details best practices for preventing dereferences, including pre-dereference checks, pointer initiali

This article explains how to create newline characters in C using the \n escape sequence within printf and puts functions. It details the functionality and provides code examples demonstrating its use for line breaks in output.

This article guides beginners on choosing a C compiler. It argues that GCC, due to its ease of use, wide availability, and extensive resources, is best for beginners. However, it also compares GCC, Clang, MSVC, and TCC, highlighting their differenc

This article emphasizes the continued importance of NULL in modern C programming. Despite advancements, NULL remains crucial for explicit pointer management, preventing segmentation faults by marking the absence of a valid memory address. Best prac

This article reviews online C compilers for beginners, focusing on ease of use and debugging capabilities. OnlineGDB and Repl.it are highlighted for their user-friendly interfaces and helpful debugging tools. Other options like Programiz and Compil

This article compares online C programming platforms, highlighting differences in features like debugging tools, IDE functionality, standard compliance, and memory/execution limits. It argues that the "best" platform depends on user needs,

This article discusses efficient code copying in C IDEs. It emphasizes that copying is an IDE function, not a compiler feature, and details strategies for improved efficiency, including using IDE selection tools, code folding, search/replace, templa

This article troubleshoots missing output windows in C program compilation. It examines causes like failing to run the executable, program errors, incorrect compiler settings, background processes, and rapid program termination. Solutions involve ch
