//小白来求救 解析json文件的时候
例子:
using Litjson;
public class Force_Class
{
public string force_name { get; set; }
public string force_icon { get; set; }
public string force_flag { get; set; }
public string force_des { get; set; }
public string force_color { get; set; }
public string force_officeID { get; set; }
}
string data="……………………//json文件里面的数据"
Force_Class fc=JsonMapper.ToObject(data);
类里面的字段无论如何都得不到json文件里面的数据啊。
改了utf8编码也没有用。
只有单独赋值是有用的,但是这样无法实现存入VO类的功能啊!
using UnityEngine;
using UnityEditor;
using System.Collections;
using LitJson;
using System.IO;
using System.Text;
using System.Collections.Generic;
public class SD_Role : MonoBehaviour
{
static string mFileName;
void Awake()
{
init(2);
Force_Class fcc=new Force_Class();
Debug.Log(fcc.force_name);
}
static string FileName
{
get
{
return mFileName;
}
}
public void ReadJson(string pKey)
{
Dictionary<string, JsonData> EDC_List = new Dictionary<string, JsonData>();
Dictionary<string, string> DDC_List = new Dictionary<string, string>();
var ta = Resources.Load(FileName) as TextAsset;
string data = ta.text;
string Utf8Data = Encoding.UTF8.GetString( Encoding.UTF8.GetBytes (data));
if (Utf8Data == null) return ;
//保存json中的数据到jd
JsonData jd = JsonMapper.ToObject(Utf8Data);
foreach (var key in jd.Keys)
{
EDC_List.Add(key, jd[key]);
}
JsonData value_data = EDC_List[pKey];
foreach (var i in value_data.Keys)
{
DDC_List.Add(i,value_data[i].ToString());
//Force_Class.fc.Add(value_data[i].ToString());
try {
Force_Class EDd_List=JsonMapper.ToObject<Force_Class>(Encoding.UTF8.GetString(Encoding.UTF8.GetBytes (value_data[i].ToString())));
} catch (System.Exception ex) {
Debug.Log (ex);
}
Debug.Log(i+"————"+value_data[i].ToString());
}
}
public void init(int Pkey) {
mFileName ="Json/Document/Force";
ReadJson(Pkey.ToString());
}
}
public class Force_Class
{
public string force_name { get; set; }
public string force_icon { get; set; }
public string force_flag { get; set; }
public string force_des { get; set; }
public string force_color { get; set; }
public string force_officeID { get; set; }
// public static List fc = new List() {
// force_name,force_icon,force_flag,force_des,force_color,force_officeID
// };
}
public class Force_Dic {
public Dictionary EDC_List = new Dictionary();
}