Detailed explanation of the sample code of C# using LitJson to parse JSON

黄舟
Release: 2017-03-23 11:54:56
Original
2372 people have browsed it

This article mainly introduces the example code ofC# using LitJson to parse JSON. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor and take a look.

JSON (JavaScriptObjectNotation) is a lightweight data exchange format. It is based on a subset of JavaScript (Standard ECMA-262 3rd Edition - December 1999). JSON uses a completely language-independent text format, but also uses conventions similar to the C language family (including C, C++, C#, Java, JavaScript,Perl,Python, etc.) . These properties make JSON an ideal data exchange language. Easy for humans to read and write, and easy for machines to parse and generate.

If you have ever used Json, you will know that Json can be divided into two parts:

1. Json Object (A collection of name /value pairs)

2. JSON Array (An ordered list of values)

There are many open source packages for parsing JSON, which are widely used in various situations, especially for network transmission.

This article introduces the use of LitJson and uses the C# language to introduce the use of JSON, which can be used in C# applications, web programs, and Unity3d C# scripts.

Step one: Download LitJson and import the current project.

Step 2: Several examples of litJson methods

1. Use JsonData to process and generate json:{"name":"peiandsky","age":28,"sex": "male"}

JsonData data = new JsonData(); data["name"] = "peiandsky"; data["age"] = 28; data["sex"] ="male"; string json1= data.ToJson();
Copy after login

2.Nested objects in object: {"name":"peiandsky","info":{"sex":"male","age" :28}}

JsonData data2 = new JsonData(); data2["name"] = "peiandsky"; data2["info"] = new JsonData(); data2["info"]["sex"] = "male"; data2["info"]["age"] = 28; string json2 = data2.ToJson();
Copy after login

3. Parse the Json in the above two ways to JsonData

JsonData jsonData2 = JsonMapper.ToObject(json2); Debug.Log(jsonData2["name"] + " " + data2["info"]["sex"]);
Copy after login

4. Use JsonMapper to process Json

Player player = new Player(); player.name = "peiandsky"; player.age = 23; player.sex = "male"; string json=JsonMapper.ToJson(player);
Copy after login

5. Parse the Json in 4 json

Player player2 = JsonMapper.ToObject(json);
Copy after login

6. Use the most primitive way to generate Json

Convertarrayinto json:["one","two","three","four "]

JsonWriter writer = new JsonWriter(); writer.WriteArrayStart(); writer.Write("one"); writer.Write("two"); writer.Write("three"); writer.Write("four"); writer.WriteArrayEnd();
Copy after login

Convert the composite object into jsonString: {"book":{"title":"android game!","author":"pei","bookdetail ":{"pages":429,"about":null}}}

JsonWriter writer2 = new JsonWriter(); writer2.WriteObjectStart(); writer2.WritePropertyName("book"); writer2.WriteObjectStart(); writer2.WritePropertyName("title"); writer2.Write("android game!"); writer2.WritePropertyName("author"); writer2.Write("pei"); writer2.WritePropertyName("bookdetail"); writer2.WriteObjectStart(); writer2.WritePropertyName("pages"); writer2.Write(429); writer2.WritePropertyName("about"); writer2.Write(null); writer2.WriteObjectEnd(); writer2.WriteObjectEnd(); writer2.WriteObjectEnd(); Debug.Log(writer2.ToString());
Copy after login

This method is very inconvenient and is not recommended.

When using LitJson, it is recommended to use JsonData and JsonMapper to handle Json encoding and parsing.

Person[] p_array = { p,p,p}; string json_array=JsonMapper.ToJson(p_array); Debug.Log(json_array); JsonData pa = JsonMapper.ToObject(json_array); Debug.Log(pa.IsArray+" "+pa.Count); for (int i = 0; i < pa.Count;i++ ) { Debug.Log(pa[i]["name"]+"-"+pa[i]["age"]+"-"+pa[i]["score"]+"-"+pa[i]["birth"]); int age = int.Parse(pa[i]["age"].ToString()); Debug.Log(age); }
Copy after login

The above is the detailed content of Detailed explanation of the sample code of C# using LitJson to parse JSON. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!