zoukankan      html  css  js  c++  java
  • Unity—Json2

    走过的坑,插个旗:

    1.百度EXCEL转Json,有的网站如https://www.bejson.com/json/col2json/这个:

       转成的Json,最后会多出个,空格并不影响;

    2.如前文中提及的json不要出现中文,若有先转成UTF-8;

    3.我的实用案列

    基类配置属性

    public class Iconfigures
    {
        public string ID;   
        public string Colour_Body;
        public string Light_Head;
        public string Light_Tail;
        public string Colour_Interior;
    }
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using LitJson;
    
    public class SaveIC : MonoBehaviour
    {
    
        public Dictionary<string, Iconfigures> dataDic = new Dictionary<string, Iconfigures>();
    
        private List<Iconfigures> icList = new List<Iconfigures>();
        // Use this for initialization
        void Start()
        {
            LoadConfig();
        }
    
    
    
        void LoadConfig()                              //将EXCEL转换的JSON字符串文件赋值给我的配置表基类(Iconfigures),并最终实例到字典Dic中
        {
            TextAsset ta = Resources.Load<TextAsset>("Configure");
            Debug.Log($"{ta.text}");
            JsonData jd = JsonMapper.ToObject(ta.text);
            if (ta)                                                      
            {
    
                Iconfigures ic = new Iconfigures();
                Debug.Log($"AAA:{jd.Count}");//2
    
                icList = JsonMapper.ToObject<List<Iconfigures>>(jd.ToJson());              //采用List的方法一,但是发现,因为Json全是string格式,
                                                                       //如果配置基类中有Int等不同类型,不能用ToObject直接赋值,可以考虑中间变通
                foreach (Iconfigures info in icList)
                {
                    ic = info;
                    dataDic.Add(ic.ID, ic);
                }
    
    
                //for (int i = 0; i < jd.Count; i++)                                      //采用一一赋值的方法二
                //{
                //    ic.ID = int.Parse((string)jd[i]["ID"]);
                //    Debug.Log($"A:{ic.ID}");
                //    ic.Colour_Body = (string)jd[i]["Colour_Body"];
                //    Debug.Log($"A:{ic.Colour_Body}");
                //    ic.Colour_Interior = (string)jd[i]["Colour_Interior"];
                //    ic.Light_Head = (string)jd[i]["Light_Head"];
                //    ic.Light_Tail = (string)jd[i]["Light_Tail"];
                //    dataDic.Add(ic.ID, ic);
                //}
    
            }
    
    
            Iconfigures item;
            dataDic.TryGetValue("10001", out item);
            Debug.Log($"BBB:");
            if (item != null)
            {
                Debug.Log($"CCC:");
                Debug.LogError($"item:{item.ID}");
            }
        }
    }
    View Code
    余生很长,愿我们都活成自己喜欢的样子
  • 相关阅读:
    XML 加密、解密
    word 转 pdf
    PowerDesigner(PowerDesigner15.1.0.2850)下载、安装以及破解
    SQL 2005 18456
    SQL 2005端口的修改
    SQL——统计查询
    由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例 解决办法
    ASP.NET MVC中Model View Controller的开发顺序
    使用Windows身份验证的Intranet网站安全管理 Windows Authentication
    ASP.NET web.config中数据库连接字符串connectionStrings节的配置
  • 原文地址:https://www.cnblogs.com/bananana/p/8946539.html
Copyright © 2011-2022 走看看