Maison  >  Article  >  développement back-end  >  Explication détaillée de l'exemple de code C# utilisant LitJson pour analyser JSON

Explication détaillée de l'exemple de code C# utilisant LitJson pour analyser JSON

黄舟
黄舟original
2017-03-23 11:54:562431parcourir

Cet article présente principalement l'exemple de code de C# utilisant LitJson pour analyser JSON. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.

JSON (JavaScript Object Notation) est un format d'échange de données léger. Il est basé sur un sous-ensemble de JavaScript (Standard ECMA-262 3e édition – décembre 1999). JSON utilise un format de texte totalement indépendant du langage, mais utilise également des conventions similaires à la famille des langages C (notamment C, C++, C#, Java, JavaScript, Perl, Python, etc. ) . Ces propriétés font de JSON un langage d'échange de données idéal. Facile à lire et à écrire pour les humains, et facile à analyser et à générer pour les machines.

Si vous avez déjà utilisé Json, vous saurez que Json peut être divisé en deux parties :

1. de paires nom/valeur)

2. Tableau JSON (une liste ordonnée de valeurs)

Il existe de nombreux packages open source pour analyser JSON, qui sont largement utilisés dans diverses situations, notamment pour le réseau. transmission.

Cet article présente l'utilisation de LitJson et utilise le langage C# pour introduire l'utilisation de JSON, qui peut être utilisé dans les applications C#, les programmes Web et les scripts C# Unity3d.

Première étape : Téléchargez LitJson et importez le projet en cours.

Étape 2 : Plusieurs exemples de méthodes litJson

1 Utilisez JsonData pour traiter et générer json : {"name":"peiandsky","age":28,"sex": " male"}

JsonData data = new JsonData();

    data["name"] = "peiandsky";

    data["age"] = 28;

    data["sex"] ="male";

    string json1= data.ToJson();

2. Objets imbriqués dans objet : {"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();

3. Analysez le Json des deux manières ci-dessus pour JsonData

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

4. Utilisez JsonMapper pour traiter Json

Player player = new Player();

    player.name = "peiandsky";

    player.age = 23;

    player.sex = "male";

    string json=JsonMapper.ToJson(player);

. 5. Analysez le json en 4

Player player2 = JsonMapper.ToObject<Player>(json);

6. Utilisez la manière la plus primitive pour générer Json

et convertissez le tableau en json :["one", "two", "trois", "quatre"]

 JsonWriter writer = new JsonWriter();

    writer.WriteArrayStart();

    writer.Write("one");

    writer.Write("two");

    writer.Write("three");

    writer.Write("four");

    writer.WriteArrayEnd();

Convertir l'objet composite en jsonstring : {"book":{"title":"jeu Android ! " ,"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());

Cette méthode est très peu pratique et n'est pas recommandée.

Lors de l'utilisation de LitJson, il est recommandé d'utiliser JsonData et JsonMapper pour gérer l'encodage et l'analyse Json.

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);

    }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn