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()
        { }
    }
}
时间: 2024-08-28 18:22:44

LitJson 简单实用Demo的相关文章

Java 多线程IO简单实用Demo

多线程主要作用是充分利用Cpu,而不在于它的乱序性.本Demo不讲它竞争什么的.之前看过乱序打印ABC的例子什么的,那些有意义吗? 本Demo 是多线程打印文件夹下的文件,主要实现是用数组存放文件,一个游标遍历. 我们需要考虑在什么时候加互斥访问,本例用synchronized . 先考虑单线程的流程:客户端启动-->读取文件下的文件放到数组(IO)--> 取游标打印 ,游标加1 -- > 改文件写文件(IO) -- 重复上两步至越界 -- 结束 多线程时显然需要在"取游标打印

FMDB数据库的简单实用

引入和FMDB第三方类库,  demo地址:http://pan.baidu.com/s/1c0pbfxA 1 #define dataBasePath [[(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)) lastObject]stringByAppendingPathComponent:dataBaseName] 2 #define dataBaseName @"MyDatabase

【Android进阶】Junit单元测试环境搭建以及简单实用

单元测试的目的 首先,Junit单元测试要实现的功能,就是用来测试写好的方法是否能够正确的执行,一般多用于对业务方法的测试. 单元测试的环境配置 1.在AndroidManifest清单文件的Application节点下,引入单元测试使用的库 2.在AndroidManifest清单文件与Application节点平行的节点中,添加instrumentation节点 下面是一个完整的配置的代码 <manifest xmlns:android="http://schemas.android.

iOS开发-NSURLConnection和NSURLSession的简单实用

一,NSURLConnection的简单实用 (一).简单请求过程 /// 1.创建url(资源路径) NSURL *url = [NSURL URLWithString:@"http://f.hiphotos.baidu.com/image/pic/item/d6ca7bcb0a46f21ff3649fbaf5246b600d33ae83.jpg"]; /// 2.创建请求 NSURLRequest *request = [NSURLRequest requestWithURL:ur

简单实用的移动端js-mobile layer

公司触屏版的开发已经完成,本篇文章跟大家介绍一个简单实用的移动端js以实现遮罩效果,mobile layer.这个移动端js实现的效果简洁,体积较小非常适合移动端开发,并且可以自定义提示的样式.下面介绍几个简单demo 1.普通信息框,并设置2秒自动关闭,代码如下: layer.open({ content: '通过style设置你想要的样式', style: 'background-color:#09C1FF; color:#fff; border:none;', time: 2 }); 2.

jQuery简单实用的轻量级进度条插件

jQMeter是一款简单实用的轻量级进度条jQuery插件,它可以显示为水平或垂直进度条,进度条加载时带有动画特效,你只需要简单的传入一些参数到jQMeter对象的构造函数中就可以完成你想要的进度条效果. 该进度条插件的构造函数中允许你定义进度条的宽度.高度.背景色.进度条颜色等等参数,通过这些参数你可以构造自己的进度条样式. 效果演示:http://www.htmleaf.com/Demo/201504131672.html 下载地址:http://www.htmleaf.com/jQuery

jQuery简单实用的图片标题动画效果插件

CaptionerJs是一款简单实用的jQuery图片标题动画效果插件.网上有许多图片标题插件,但是CaptionerJs可以为你创建干净整洁并且带有语义的图片标题HTML代码. CaptionerJs不使用div作为图片层,而是使用figure和figcaption元素来转换图片,使图片和图片标题有明确的语义. 你可以在书写图片代码的时候使用标准的HTML图片代码,CaptionerJs会使用title和alt属性来制作图片的标题. 效果演示:http://www.htmleaf.com/De

jQuery轻量级简单实用的图片放大镜特效

zoomtoo是一款轻量级的简单实用的jQuery图片放大镜特效插件.这个图片放大镜特效在鼠标滑过图片的时候,在原来图片区域内部将图片放大.鼠标进入和离开图片区域时都带有淡入淡出的效果. 浏览器兼容: Firefox 2+ (Win, Mac, Linux) IE7+ (Win) Chrome 6+ (Win, Mac, Linux, Android, iPhone) Safari 3.2+ (Win, Mac, iPhone) Opera 8+ (Win, Mac, Linux, Androi

简单实用的PHP防注入类实例

这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全. PHP防注入类代码如下: 复制代码 代码如下: <?php /**  * 参数处理类  *