LitJson 解析

有两种模式的解析:

1、第一种是如下形式:

{
    "version": "1.0.1",
    "isRelease": true,
    "isRecharge": false,
    "ResUrl": "http://192.168.1.248:80/res/kaifaRes/",
    "updateurl": "http://ng.d.cn/xiangmoOL/",
    "KEY": "jev5sd28nhmgy1eg45jb",
    "serverListServer": {
        "ROOT_SERVER_INDEX": -1,
        "ROOT_HOST": "192.168.1.248",
        "ROOT_POST": 3003
    }
}

这种的大括号连接,可以视为是两个实体类共同统一的

2、带有中括号的:如下两种

其中将中括号所括内容看作是数组就可以了


    "family_list": [  
        {  
            "name" : "candycat",  
            "age" : 21,  
            "tellphone" : "xxx",  
            "address" : "xxx"  
        },  
        {  
            "name" : "candycat#",  
            "age" : 22,  
            "tellphone" : "xxx",  
            "address" : "xxx"  
        },  
        {  
            "name" : "candycat##",  
            "age" : 23,  
            "tellphone" : "xxx",  
            "address" : "xxx"  
        }  
    ]  

}


{
    "Name": "yuson",
    "Age": 26,
    "Birthday": "1986-11-21",
    "Thumbnail": [
        {
            "Url": "http: //xuanyusong.co",
            "Height": 256,
            "Width": "200"
        },
        {
            "Url": "http: //baidu.com",
            "Height": 1024,
            "Width": "500"
        }
    ]
}


using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using LitJson;
public class FamilyInfo
{
    public string name;
    public int age;
    public string tellphone;
    public string address;
}
public class FamilyList
{
    public List<FamilyInfo> family_list;



public class ParseJson : MonoBehaviour {


    public FamilyList m_FamilyList = null; 
void Start () {
        ResolveJson();
        ReloadFamilyData();
        DisplayFamilyList(m_FamilyList);
}


    private void ReloadFamilyData()
    {
        UnityEngine.TextAsset s = Resources.Load("family") as TextAsset;
        string tmp = s.text;
        m_FamilyList = JsonMapper.ToObject<FamilyList>(tmp);
    }


    private void DisplayFamilyList(FamilyList familyList)
    {
        if (familyList == null) return;




        foreach (FamilyInfo info in familyList.family_list)
        {
            Debug.Log("Name:" + info.name + "       Age:" + info.age + "        Tel:" + info.tellphone + "      Addr:" + info.address);
        }
    } 


public void ResolveJson()
{
        UnityEngine.TextAsset s = Resources.Load("JsonExample") as TextAsset;
        string str = s.text;
//这里是解析,包括整形与字符串
JsonData jd = JsonMapper.ToObject(str);
Debug.Log("name = " + (string)jd["Name"]);
Debug.Log("Age = " + (int)jd["Age"]);
Debug.Log("Birthday = " + (string)jd["Birthday"]);
JsonData jdItems = jd["Thumbnail"]; 
 
for (int i = 0; i < jdItems.Count; i++)
{
Debug.Log("URL = " + jdItems[i]["Url"]);
Debug.Log("Height = " + (int)jdItems[i]["Height"]);
        Debug.Log("Width = " + jdItems[i]["Width"]);
}
}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值