Json专题01

8 篇文章 0 订阅

解析Json文本需要引用LitJson.dll

下载地址
链接:https://pan.baidu.com/s/1ga8yFEZYLt9ZBPd3HUtODQ 密码:qkj8

Json中有两种类型

[ ]——-表示集合

{ }———-表示对象

string jsonstr="{ "heros":[{"name":"chneg","power":"90" },{"name":"li","power":"190"}]}"
string jsonstr="{"name":"cheng wenhao","power":10}"----------------表示一个json对象

要点

1 基础类型可以转换成Json字符串

2 自定义类型也可以转成Json字符串文本

3 特殊类型不能转换成字符串文本

4 集合可以转换成字符串文本,字典也不能直接转换成json文本

5 常用方法两个

    public static JsonData ToObject(TextReader reader);

    public static JsonData ToObject(string json);

    public static T ToObject<T>(JsonReader reader);

    public static T ToObject<T>(TextReader reader);

    public static T ToObject<T>(string json);

案例

1转换成Json字符串的几种方式

a 自定义类型转换成json字符串

public class Address
{
    public string id;
    public string address;
    public string iphoneNumber;
    public override string ToString()
    {
        return string.Format("id={0},address={1},iphoneNumber={2}",id,address,iphoneNumber);
    }
}

public class Person
{
    public string name;
    public Address address;
    public int id;
    public string sex;
    public int age;
    public string pos;

    public override string ToString()
    {
        return string.Format("id={0},name={1},sex={2},age={3},address={4}",id,name,sex,age,address);
    }
}

public void Test()
{
   Address address = new Address { address = "beijin", id = "14号楼", iphoneNumber = "13511065388" };

    Person p1 = new Person();
    p1.name = "damon";
    p1.id = 1000;
    p1.age = 23;
    p1.sex = "nan";
    p1.address = address;
    p1.pos = Vector3.zero.ToString();


    //将类转换成json字符串
    string jsonStr = JsonMapper.ToJson(p1);
    Debug.Log(jsonStr);
}

b 自行创建JsonData 转换Json字符串文本

public void Test()
{
    JsonData jsonData = new JsonData();
    jsonData["name"] = "damon";
    jsonData["id"] = 1000;
    jsonData["address"] = new JsonData();
    jsonData["address"]["id"] = "14号楼";
    jsonData["address"]["address"] = "Beijing";

    //将JsoData转换成json字符串类型
    Debug.Log(JsonMapper.ToJson(jsonData));
}

c 将集合转换成json字符串

public void Test()
{
//将集合转换成json字符串
    List<Person> list = new List<Person>();
    Person p3 = new Person { id = 1000, name = "damon",sex="nan",pos="----",address=new Address { id="109",address="***********",iphoneNumber="1999"} };
    Person p4 = new Person { id = 1001, name = "damon", sex = "nan", pos = "----", address = new Address { id = "109", address = "***********", iphoneNumber = "1999" } };

    list.Add(p3);
    list.Add(p4);

    string jsonStr2 = JsonMapper.ToJson(list);
    Debug.Log(jsonStr2);
}

d 手工创建Json 文本

string p1Str = @"[{'id':'1000','name':'damon','age':18},{'id':'1001','name':'damon01','age':19}]";
Debug.Log(JsonMapper.ToObject(p1Str));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值