1. 程式人生 > >json資料解析轉文字方法

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