zoukankan      html  css  js  c++  java
  • Json解析

      在Json解析中,{}代表一个对象,[]代表一个数组

      在U3D中使用Json解析,一般先在Assets中新建一个Plugin的文件夹,把Litjson的插件放入到里面,然后进行解析

      实例代码如下:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using LitJson;
    
    public class Person{
    	public string name;
    	public int age;
    	public int score;
    }
    
    public class JsonTest : MonoBehaviour {
    
    	void Start () {
    		//parJson ();
    		//parJson2();
    		createJson();
    	}
    
    	//解析json
    	void parJson(){
    		string jsonStr = "{'name':'令狐冲','age':25,'score':92}";
    		//Person person = JsonUtility.FromJson<Person> (jsonStr);
    		//Debug.Log (person.name);
    
    		//Litjson解析
    		Person person = JsonMapper.ToObject<Person>(jsonStr);
    		Debug.Log (person.name);
    
    		jsonStr = "[{'name':'令狐冲','age':25,'score':92},{'name':'岳不群','age':48,'score':89}]";
    		Person[] persons = JsonMapper.ToObject<Person[]> (jsonStr);
    		foreach(Person p in persons){
    			Debug.Log (p.name);
    		}
    	}
    
    	void parJson2(){
    		string jsonStr = "[{'name':'令狐冲','age':25,'score':92},{'name':'岳不群','age':48,'score':89}]";
    		JsonData jd = JsonMapper.ToObject (jsonStr);
    		for(int i = 0; i < jd.Count; i++){
    			JsonData personJd = jd [i];
    			Debug.Log (personJd["name"]);
    		}
    		Debug.Log (jd[0]["age"]);
    	}
    
    	//生成json
    	void createJson(){
    		//方法一
    		Person person = new Person();
    		person.name = "令狐冲";
    		person.age = 25;
    		person.score = 92;
    
    		string jsonStr = JsonMapper.ToJson (person);
    		//Debug.Log (jsonStr);
    
    		//方法二
    		//[{'name':'令狐冲','age':25,'score':92},{'name':'岳不群','age':48,'score':89}]
    		JsonData jd = new JsonData();
    		//指定jsondata的类型
    		jd.SetJsonType (JsonType.Array);
    		string[] name = new string[]{ "令狐冲", "岳不群", "林平之"};
    		int[] age = new int[]{ 25, 48, 21 };
    		int[] score = new int[]{ 92, 89, 85 };
    		for(int i = 0; i < name.Length; i++){
    			//创建每个person
    			JsonData personJd = new JsonData();
    			personJd ["name"] = name [i];
    			personJd ["age"] = age [i];
    			personJd ["score"] = score [i];
    			jd.Add (personJd);
    		}
    		Debug.Log (jd.ToJson());
    	}
    }
    

      

  • 相关阅读:
    【Vijos1159】岳麓山上打水 [迭代加深]
    【POJ3134】 Power Calculus [迭代加深]
    【2019.1.24】 搜索,动规 经典题目体验赛
    【noip2017】
    【poj3311】Hie With The Pie [状压dp]
    [bzoj3938] [Uoj #88] Robot
    [洛谷P4707] 重返现世
    [洛谷P4097] [HEOI2013] Segment
    KD-tree 学习小记
    NOI2019 酱油记
  • 原文地址:https://www.cnblogs.com/xingyunge/p/6806475.html
Copyright © 2011-2022 走看看