xr312864015 2016-12-30 06:46 采纳率: 0%
浏览 949

【小白求助】解析json文件无法向VO类里面传值!!!!

//小白来求救 解析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();

}


  • 写回答

2条回答 默认 最新

  • 阿理斯特 2016-12-30 08:24
    关注

    写构造函数,将两个构造函数都写上

    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作