Litjson快速入门

介绍

Json是一个简单但功能强大的,用于specify data。它定义了简单的数值类型例如布尔型、数字(整型和实数)和字符串,以及一些数据结构:数组(list)和对象(字典)。LitJSON是一个C#.Net库,用于处理JSON(JavaScript Object Notation)字符串的转换。

将JSON映射到Object及反映射

为了在.Net程序中使用JSON格式的数据,最先在心中想到的方法是在一个特定类的实例中填充JSON文本,或者一个定制的类,用于匹配输入的JSON文本结构,也可以更通用的使用一个类似字典的类。

相反,为了将存储在对象中的数据构建新的JSON字符串,如果有一个简单导出的操作就很棒了。

为了达到这一点,LitJSON包含JsonMapper类,可以提供两个主要方法来达到JSON-to-object和object-to-JSON的转换。这两个方法是JsonMapper.ToObject和JsonMapper.ToJson。

简单的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);
    }
}

输出示例:

{"Name":"William Shakespeare","Age":51,"Birthday":"04/26/1564 00:00:00"}
Thomas' age: 57

JsonMapper.ToObject的非泛型变体使用

当要读取JSON数据时,匹配特定数据结构的类不可用或不需要的时候,使用者可以使用ToObject的非泛型变体,可以返回一个JsonData实例。JsonData是一个可以保存任何JSON支持的数据类型的普通类,包括list和字典。

using LitJson;
using System;

public class JsonSample
{
    public static void Main()
    {
        string json = @"
          {
            &#
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值