• 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
    余生很长,愿我们都活成自己喜欢的样子
  • 相关阅读:
    hugeng007_SupportVectorMachine_demo
    hugeng007_RandomForestClassifier_demo
    hugeng007_pca_vs_Ida_demo
    hugeng007_Muti-Layer Perceptron_demo
    hugeng007_LogisticRegression_demo
    hugeng007_adaboost_demo
    渗透测试第三章web安全基础--web系统框架
    渗透测试第二章---网络协议安全
    渗透测试第一章 信息收集--- 扫描技术与抓包分析
    爬虫公开课学习的一天
  • 原文地址:https://www.cnblogs.com/bananana/p/8946539.html
Copyright © 2020-2023  润新知