public class JsonDeserialize
{
protected string url = “http://localhost:8080/AssetBundleData/Web/Singlea/”;
}
[csharp] view plaincopy
using UnityEngine;
using System.Collections.Generic;
public class ChinaJsonDeserialize : JsonDeserialize
{
private China _china;
public China china
{
get
{
return _china;
}
}
public ChinaJsonDeserialize(string jsonData)
{
_china = new China();
ParseJson(jsonData);
}
void ParseJson(string jsonData)
{
if (string.IsNullOrEmpty(jsonData))
{
Debug.LogError("ChinaJson is null or empty");
return;
}
Dictionary<string, object> jsonObjects = MiniJSON.Json.Deserialize(jsonData) as Dictionary<string, object>;
_china.chinaName = jsonObjects["name"].ToString();
_china.province = new List<Province>();
List<object> provinceList = jsonObjects["province"] as List<object>;
foreach (var i in provinceList)
{
Dictionary<string, object> province = i as Dictionary<string, object>;
Province provinceObj = new Province();
provinceObj.provinceName = province["name"].ToString();
provinceObj.city = new List<City>();
Dictionary<string, object> citesDic = province["cities"] as Dictionary<string, object>;
List<object> childCitesList = citesDic["city"] as List<object>;
foreach (var childCity in childCitesList)
{
City city = new City();
city.cityName = childCity.ToString();
provinceObj.city.Add(city);
}
_china.province.Add(provinceObj);
}
}
}
public class China
{
public string chinaName;
public List province;
}
public class Province
{
public string provinceName;
public List city;
}
public class City
{
public string cityName;
}
[csharp] view plaincopy
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace MiniJSON {
public static class Json {
/// <summary>
/// Parses the string json into a value
/// </summary>
/// <param name="json">A JSON string.</param>
/// <returns>An List<object>, a Dictionary<string, object>, a double, an integer,a string, null, true, or false</returns>
public static object Deserialize(string json) {
// save the string for debug information
if (json == null) {
return null;
}
return Parser.Parse(json);
}
sealed class Parser : IDisposable {
const string WHITE_SPACE = " \t\n\r";
const string WORD_BREAK = " \t\n\r{}[],:\"";
enum TOKEN {
NONE,
CURLY_OPEN,
CURLY_CLOSE,
SQUARED_OPEN,
SQUARED_CLOSE,
COLON,
COMMA,