LitJson 简单实用Demo

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

              如果曾经使用过Json,就会清楚Json可以分为两个部分:

  1. Json Object(A collection of name/value pairs)
  2. JSON Array (An ordered list of values)

解析JSON的开源包非常多,在各种场合使用非常广泛,尤其长于网络传输。

本文介绍使用LitJson,并用C#语言来介绍使用JSON,可以在C#应用程序,web程序,还有Unity3d C#脚本中使用。

 

第一步:先去下载LitJson并导入当前的项目。

第二步:引用LitJson

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LitJson;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var per = new person() { Age = 12, Birthday = new DateTime(1985, 3, 28), Name = "abc" };
            var per1 = new person() { Age = 13, Birthday = new DateTime(1986, 4, 28), Name = "def" };
            var list = new List<person>();
            list.Add(per);
            list.Add(per1);
            var str = LitJson.JsonMapper.ToJson(list);
            Console.WriteLine(str);

            var per2 = JsonMapper.ToObject<List<person>>(str);
            Console.WriteLine(string.Format(@"age={0}  name={1}  birthday={2}", per2[1].Age, per2[1].Name, per2[1].Birthday));

            string json = @"[
            {
                ""Name""    : ""www.87cool.com"",
                ""Age""      : 3,
                ""Birthday"" : ""07/17/2007 00:00:00""
            },
            {
                ""Name""    : ""www.12cool.com"",
                ""Age""      : 31,
                ""Birthday"" : ""07/17/2007 00:00:00""
            }]";


            var per3 = JsonMapper.ToObject<List<person>>(json);
            Console.WriteLine(string.Format(@"age={0}  name={1}  birthday={2}", per3[0].Age, per3[0].Name, per3[0].Birthday));
            Console.Read();


        }


    }
    class person
    {
        private string name;
        private int age;
        private DateTime birthday;
        public string Name
        {
            get;
            set;
        }
        public int Age
        {
            get;
            set;
        }
        public DateTime Birthday
        {
            get;
            set;
        }
        public person()
        { }
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。