码迷,mamicode.com
首页 > Web开发 > 详细

Json解析

时间:2017-05-04 13:25:06      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:代码   创建   u3d   blog   实例代码   createjs   map   sharp   文件夹   

  在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());
	}
}

  

Json解析

标签:代码   创建   u3d   blog   实例代码   createjs   map   sharp   文件夹   

原文地址:http://www.cnblogs.com/xingyunge/p/6806475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!