zoukankan      html  css  js  c++  java
  • c# json 解析

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic ;
    using JsonFx ;
    using JsonFx.Json ;
    
    public class TestJson : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
    
            //封装  
         //
    //string json = setJsonArray() ; //解析 //getJsonArray(json) ;

         // 初始化model 序列成json
    string mm = setObject() ;

        // 将json映射成model getObject(mm) ; }
    // Update is called once per frame void Update () { } string setJsonArray() { Hashtable one = new Hashtable() ; one.Add("one" , "oooooooooooooo") ; string[] strs = {"111","2222"}; List<Hashtable> list = new List<Hashtable>() ; list.Add( one ) ; list.Add( one ) ; List<string> listStr = new List<string>() ; listStr.Add("1111") ; listStr.Add("2222") ; Hashtable ht = new Hashtable() ; ht.Add("name" , "xixi" ) ; ht.Add("gender", "male") ; ht.Add("one",one) ; ht.Add("strs",strs) ; ht.Add("list",list) ; ht.Add("listStr",listStr) ; Debug.Log( JsonWriter.Serialize( ht) ) ; //{"list":[{"one":"oooooooooooooo"},{"one":"oooooooooooooo"}],"strs":["111","2222"],"gender":"male","one":{"one":"oooooooooooooo"},"name":"xixi","listStr":["1111","2222"]} return JsonWriter.Serialize( ht ) ; } void getJsonArray( string json ){ // about hashtable http://www.cnblogs.com/liuwenjun830/archive/2006/07/28/462182.html Dictionary<string,object> ht = JsonReader.Deserialize<Dictionary<string,object>>( json ) ; Debug.Log( ht.Count ) ; // is exit or not Debug.Log( ht.ContainsKey("name") ); // out: True Debug.Log( ht.ContainsKey("name11") ); // out : False Debug.Log(ht["name"].ToString() ) ; // out : xixi //Debug.Log(ht["name11"].ToString() ) ; // out : error -- NullReferenceException: Object reference not set to an instance of an objec // get string Debug.Log(ht["name"].ToString() ) ; // get string[] string[] str = (string[]) ht["strs"] ; Debug.Log(" str lenth : " + str.Length + " 11 : " + str[0] ) ; // get Dictionary Dictionary<string,object> one = ( Dictionary<string,object>) ht["one"] ; Debug.Log(" one : " + one["one"].ToString() ) ; // out : one : oooooooooooooo Dictionary<string,object>[] list = ( Dictionary<string,object>[]) ht["list"] ; Debug.Log(" list length : " +list.Length + "----" + list[0]["one"].ToString()) ; //out : list length : 2----oooooooooooooo } // string setObject() { ManModel mm = new ManModel() ; mm.name = "A JUN" ; mm.gender = "boy" ; mm.age = "12" ; ManModel wife = new ManModel() ; wife.name = " Kear" ; wife.gender = "gril" ; wife.age = "21" ; mm.wife = wife ; ManModel friendOne = new ManModel() ; friendOne.name = " F one" ; friendOne.gender = "gril" ; friendOne.age = "222" ; ManModel friendTwo = new ManModel() ; friendTwo.name = " daomei" ; friendTwo.gender = "boy" ; friendTwo.age = "2333" ; List<ManModel> friends = new List<ManModel>() ; friends.Add( friendOne ) ; friends.Add( friendTwo ) ; mm.friends = friends ; Debug.Log ( JsonWriter.Serialize( mm ) ) ; // {"name":"A JUN","gender":"boy","age":"12","address":null,"wife":{"name":" Kear","gender":"gril","age":"21","address":null,"wife":null,"friends":null},"friends":[{"name":" F one","gender":"gril","age":"222","address":null,"wife":null,"friends":null},{"name":" daomei","gender":"boy","age":"2333","address":null,"wife":null,"friends":null}]} return JsonWriter.Serialize( mm ) ; } void getObject( string json ) { ManModel mm = JsonReader.Deserialize<ManModel>( json ) ; Debug.Log( mm.name ) ; // out : A JUN Debug.Log( mm.address== null ) ; // out : True Debug.Log( mm.wife.name) ; // out : Kear Debug.Log(mm.friends[0].name ) ; // out : F one } } public class ManModel { public string name ; public string gender ; public string age ; public string address ; public ManModel wife ; public List<ManModel> friends ; }
     
  • 相关阅读:
    设计模式的类型
    SQL介绍(1)
    MySQL(介绍1)
    MyBatis总结(1)
    使用SQLServer Profiler侦测死锁(转)
    SQL Server 数据库中关于死锁的分析
    Delphi内嵌汇编语言BASM精要(转帖)
    Delphi项目构成之单元文件PAS
    Delphi中Interface接口的使用方法
    Delphi项目构成之项目文件DPR
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/3573580.html
Copyright © 2011-2022 走看看