json数据解析转文本方法

需要用到LitJSON.dll

JsonMapper

using LitJson;

using System;

 

public class Person

{

    // C# 3.0 auto-implemented properties

    public string   Name     { get; set; }

    public int      Age      { get; set; }

    public DateTime Birthday { get; set; }

}

 

public class JsonSample

{

    public static void Main()

    {

        PersonToJson();

        JsonToPerson();

    }

 

    public static void PersonToJson()

    {

        Person bill = new Person();

 

        bill.Name = "William Shakespeare";

        bill.Age  = 51;

        bill.Birthday = new DateTime(1564, 4, 26);

 

        string json_bill = JsonMapper.ToJson(bill);

 

        Console.WriteLine(json_bill);

    }

 

    public static void JsonToPerson()

    {

        string json = @"

            {

                ""Name""     : ""Thomas More"",

                ""Age""      : 57,

                ""Birthday"" : ""02/07/1478 00:00:00""

            }";

 

        Person thomas = JsonMapper.ToObject<Person>(json);

 

        Console.WriteLine("Thomas' age: {0}", thomas.Age);

    }

}

JsonMapper.ToObject

using LitJson;

using System;

 

public class JsonSample

{

    public static void Main()

    {

        string json = @"

          {

            ""album"" : {

              ""name""   : ""The Dark Side of the Moon"",

              ""artist"" : ""Pink Floyd"",

              ""year""   : 1973,

              ""tracks"" : [

                ""Speak To Me"",

                ""Breathe"",

                ""On The Run""

              ]

            }

          }

        ";

 

        LoadAlbumData(json);

    }

 

    public static void LoadAlbumData(string json_text)

    {

        Console.WriteLine("Reading data from the following JSON string: {0}",

                          json_text);

 

        JsonData data = JsonMapper.ToObject(json_text);

 

        // Dictionaries are accessed like a hash-table

        Console.WriteLine("Album's name: {0}", data["album"]["name"]);

 

        // Scalar elements stored in a JsonData instance can be cast to

        // their natural types

        string artist = (string) data["album"]["artist"];

        int    year   = (int) data["album"]["year"];

 

        Console.WriteLine("Recorded by {0} in {1}", artist, year);

 

        // Arrays are accessed like regular lists as well

        Console.WriteLine("First track: {0}", data["album"]["tracks"][0]);

    }

}

JsonReader


using LitJson;
using System;
 
public class DataReader
{
    public static void Main()
    {
        string sample = @"{
            ""name""  : ""Bill"",
            ""age""   : 32,
            ""awake"" : true,
            ""n""     : 1994.0226,
            ""note""  : [ ""life"", ""is"", ""but"", ""a"", ""dream"" ]
          }";
 
        PrintJson(sample);
    }
 
    public static void PrintJson(string json)
    {
        JsonReader reader = new JsonReader(json);
 
        Console.WriteLine ("{0,14} {1,10} {2,16}", "Token", "Value", "Type");
        Console.WriteLine (new String ('-', 42));
 
        // The Read() method returns false when there's nothing else to read
        while (reader.Read()) {
            string type = reader.Value != null ?
                reader.Value.GetType().ToString() : "";
 
            Console.WriteLine("{0,14} {1,10} {2,16}",
                              reader.Token, reader.Value, type);
        }
    }
}
posted @ 2018-10-19 11:55  扎北强子  阅读(2816)  评论(0编辑  收藏  举报