国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity——寫(xiě)入和讀取Json信息的方法

這篇具有很好參考價(jià)值的文章主要介紹了Unity——寫(xiě)入和讀取Json信息的方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

首先在Unity的Assets目錄下新建一個(gè)Plugins文件夾,引入LitJson.dll類(lèi)庫(kù)?。?!

編寫(xiě)讀寫(xiě)腳本時(shí),還需要再導(dǎo)入命名空間 using LitJson

關(guān)于Litjson文件:

可以去官網(wǎng)下載一個(gè)文件包;.dll文件存在于 ?litjson-0.5.0/bin目錄。

?Litjson官網(wǎng)下載鏈接:LitJSON download | SourceForge.net

具體操作:

?先定義一個(gè)類(lèi),假如現(xiàn)在是要查看手機(jī)里APP的信息,把信息先放進(jìn)去(這里分為簡(jiǎn)單和復(fù)雜讀取時(shí)的情況,測(cè)試的時(shí)候要先把另一個(gè)注釋掉?。?/p>

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class APPofMine
{
    public int appNum;

    public bool phoneState;

    //簡(jiǎn)單寫(xiě)入和讀取的時(shí)候直接用List來(lái)保存數(shù)據(jù)
    //public List<string> appList;


    //復(fù)雜寫(xiě)入和讀取的時(shí)候定義一個(gè)List存放另一個(gè)類(lèi)里的數(shù)據(jù)
    public List<AppProperty> appPropertiesList;
}

另一個(gè)類(lèi)里的數(shù)據(jù):?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AppProperty
{
    public string appName;
    public string ErenID;
    public bool ErenFavour;
    public List<int> useTimeList;
}

寫(xiě)入和讀取的方法及調(diào)用測(cè)試代碼:

代碼比較長(zhǎng),有詳細(xì)的注釋?zhuān)】梢灾苯尤螐?fù)制~

PS:測(cè)試時(shí)要先在Unity創(chuàng)建一個(gè)物體,然后把此腳本掛在物體下,另外還需要在Assets目錄下創(chuàng)建一個(gè) Resources 文件夾,再在Resources 文件夾下創(chuàng)建一個(gè)Json文件夾?。?!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System.IO;


public class JosnTest : MonoBehaviour
{
    private APPofMine appOfMine;

    // Start is called before the first frame update
    void Start()
    {
        #region 簡(jiǎn)單Json信息的存儲(chǔ)和讀取

        //簡(jiǎn)單Json信息的存儲(chǔ)和讀取
        /*
        寫(xiě)入
        //appOfMine = new APPofMine
        //{
        //    appNum = 3,
        //    phoneState = true,
        //    appList = new List<string>()
        //    {
        //        "抖音","BiliBili","絕地求生"
        //    }
        //};

        //SaveByJson();

        //讀取
        appOfMine = new APPofMine();

        appOfMine = LoadByJson();

        print(appOfMine.appNum);
        print(appOfMine.phoneState);
        foreach (var item in appOfMine.appList)
        {
            print(item);
        }
        */
        #endregion


        #region 復(fù)雜Json信息寫(xiě)入和讀取
        寫(xiě)入
        //appOfMine = new APPofMine
        //{
        //    appNum = 3,
        //    phoneState = true,
        //    appPropertiesList = new List<AppProperty>()
        //};

        //AppProperty appProperty = new AppProperty
        //{
        //    appName = "抖音",
        //    ErenID = "冬瓜大浪",
        //    ErenFavour = true,
        //    useTimeList = new List<int> { 6, 7, 8 }
        //};
        //appOfMine.appPropertiesList.Add(appProperty);
        //SaveByJson();

        //讀取
        appOfMine = LoadByJson();
        print(appOfMine.appNum);
        print(appOfMine.phoneState);
        foreach (var item in appOfMine.appPropertiesList)
        {
            print(item);
            print(item.appName);
            print(item.ErenFavour);
            print(item.ErenID);
            foreach (var itemGo in item.useTimeList)
            {
                print(itemGo);
            }
        }
        #endregion
    }


    #region 簡(jiǎn)單存儲(chǔ)Json信息文件的方法
    //存儲(chǔ)Json信息文件
    private void SaveByJson()
    {
        //找到文件要存儲(chǔ)的路徑
        string filePath = Application.dataPath/*Assets根目錄*/ + "/Resources"/*后續(xù)路徑*/ + "/APPofMine.json"/*文件名*/;

        //利用JsonMapper將 信息類(lèi)對(duì)象(字段名) 轉(zhuǎn)化成 json格式 的 字符串
        string saveJsonStr = JsonMapper.ToJson(appOfMine);

        //創(chuàng)建一個(gè)文件流將字符串寫(xiě)入一個(gè)文件中
        StreamWriter sw = new StreamWriter(filePath);

        //開(kāi)始寫(xiě)入
        sw.Write(saveJsonStr);

        //關(guān)閉文件流
        sw.Close();
    }
    #endregion


    #region 簡(jiǎn)單讀取Json的信息文件
    //讀取Json的信息文件
    private APPofMine LoadByJson()
    {
        APPofMine appGo = new APPofMine();

        //找到需要讀取文件的路徑
        string filePath = Application.dataPath/*Assets根目錄*/ + "/Resources"/*后續(xù)路徑*/ + "/APPofMine.json"/*文件名*/;

        //先判斷如果文件夾存在
        if (File.Exists(filePath))
        {
            //創(chuàng)建一個(gè)新的變量 sr ,用來(lái)存儲(chǔ)讀取到的數(shù)據(jù),開(kāi)始讀取
            StreamReader sr = new StreamReader(filePath);

            //把讀取到的信息轉(zhuǎn)換成字符串的形式存儲(chǔ)下來(lái)
            string loadJsonStr = sr.ReadToEnd();

            //關(guān)閉文件流
            sr.Close();

            //存儲(chǔ)讀取到的數(shù)據(jù)
            appGo = JsonMapper.ToObject<APPofMine>(loadJsonStr);
        }

        //判空
        if (appGo == null)
        {
            Debug.Log("讀取Json文件失敗");
        }

        return appGo;
    }
    #endregion






}

最近工作中遇到一個(gè)需求,后端的一個(gè)接口的參數(shù)是List,List中的元素又是數(shù)組,相當(dāng)于二維數(shù)組。但是二維數(shù)組無(wú)法直接轉(zhuǎn)成Json格式傳遞。?

Unity——寫(xiě)入和讀取Json信息的方法? ? ? 搞了好一會(huì)兒,記錄一下方法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-404416.html

        JsonData addressInfo = new JsonData();//創(chuàng)建一個(gè)addressInfo對(duì)象
        foreach (var item in companyInfo.address)
        {
            JsonData dataArray = new JsonData();//在addressInfo中再創(chuàng)建一個(gè)對(duì)象
            dataArray["id"] = item.id;
            dataArray["address"] = item.address;
            addressInfo.Add(dataArray);//依次添加進(jìn)addressInfo
        }
        jd["address"] = addressInfo;//賦值

到了這里,關(guān)于Unity——寫(xiě)入和讀取Json信息的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【100個(gè) Unity實(shí)用技能】?? | Unity讀取本地文件(Json,txt等)的三種方法示例

    【100個(gè) Unity實(shí)用技能】?? | Unity讀取本地文件(Json,txt等)的三種方法示例

    老規(guī)矩,先介紹一下 Unity 的科普小知識(shí): Unity 是 實(shí)時(shí)3D互動(dòng)內(nèi)容創(chuàng)作和運(yùn)營(yíng)平臺(tái) 。 包括 游戲開(kāi)發(fā) 、 美術(shù) 、 建筑 、 汽車(chē)設(shè)計(jì) 、 影視 在內(nèi)的所有創(chuàng)作者,借助 Unity 將創(chuàng)意變成現(xiàn)實(shí)。 Unity 平臺(tái)提供一整套完善的軟件解決方案,可用于創(chuàng)作、運(yùn)營(yíng)和變現(xiàn)任何實(shí)時(shí)互動(dòng)的2D和

    2023年04月08日
    瀏覽(24)
  • 發(fā)那科機(jī)器人二次開(kāi)發(fā) C#讀取和寫(xiě)入數(shù)據(jù),可以獲取點(diǎn)位信息

    發(fā)那科機(jī)器人二次開(kāi)發(fā) C#讀取和寫(xiě)入數(shù)據(jù),可以獲取點(diǎn)位信息

    發(fā)那科機(jī)器人二次開(kāi)發(fā) C#讀取和寫(xiě)入數(shù)據(jù),可以獲取點(diǎn)位信息。 非常適合進(jìn)行二次開(kāi)發(fā)及制作MES系統(tǒng)。 標(biāo)題:發(fā)那科機(jī)器人二次開(kāi)發(fā)中C#讀取和寫(xiě)入數(shù)據(jù)的應(yīng)用與實(shí)踐 摘要:本文主要介紹了如何在發(fā)那科機(jī)器人二次開(kāi)發(fā)中利用C#編程實(shí)現(xiàn)數(shù)據(jù)的讀取和寫(xiě)入功能,并探討了這一

    2024年04月23日
    瀏覽(172)
  • 讀取JSON文件 如何在Unity中讀取Json文件中的數(shù)據(jù)

    讀取JSON文件 如何在Unity中讀取Json文件中的數(shù)據(jù)

    Josn是一種輕量級(jí)的數(shù)據(jù)交換格式,JSON能夠描述四種簡(jiǎn)單的類(lèi)型(字符串、數(shù)字、布爾值及null)和兩種結(jié)構(gòu)化類(lèi)型(對(duì)象及數(shù)組),在Unity里經(jīng)常用Json來(lái)處理大量的字符串,容易解析,效率非???。 基本結(jié)構(gòu) 1、語(yǔ)法 數(shù)據(jù)存在鍵值對(duì)中 數(shù)據(jù)由逗號(hào)分隔 花括號(hào)保存對(duì)象 方括號(hào)保存

    2024年02月15日
    瀏覽(23)
  • Unity——JSON的讀取

    在實(shí)際中,讀取JSON比保存JSON重要得多。因?yàn)榇鏅n、發(fā)送數(shù)據(jù)包往往可以采用其他序列化方法,但游戲的配置文件使用JSON格式比較常見(jiàn)。游戲的配置數(shù)據(jù)不屬于動(dòng)態(tài)數(shù)據(jù),屬于游戲資源,但很適合用JSON表示。 下面以一個(gè)簡(jiǎn)單的JSON數(shù)據(jù)文件為例,演示讀取JSON。從整體上看有兩

    2024年02月06日
    瀏覽(17)
  • Unity3D操作數(shù)據(jù)之Txt文檔操作(創(chuàng)建、讀取、寫(xiě)入、修改)

    Unity3D操作數(shù)據(jù)之Txt文檔操作(創(chuàng)建、讀取、寫(xiě)入、修改)

    Unity3D操作數(shù)據(jù)之Txt文檔操作(創(chuàng)建、讀取、寫(xiě)入、修改) 其實(shí)讀取Txt文檔非常簡(jiǎn)單、也不需要導(dǎo)入 插件 ,僅需引入相應(yīng)的 命名空間 即可。 命名空間: using System.IO 要注意的一點(diǎn)是,文檔格式設(shè)置為UTF-8,不然中文可能顯示不太正確。 使用寫(xiě)入語(yǔ)句會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)的文檔 使用

    2024年02月02日
    瀏覽(65)
  • Unity3D操作數(shù)據(jù)之Excel表操作(創(chuàng)建、讀取、寫(xiě)入、修改)

    Unity3D操作數(shù)據(jù)之Excel表操作(創(chuàng)建、讀取、寫(xiě)入、修改)

    叨嘮兩句: 首先使用Excel需要 導(dǎo)入插件 ,其次在 程序運(yùn)行 期間不要打開(kāi)對(duì)應(yīng)的Excel文件 其次相對(duì)于一些程序使用Excel比使用數(shù)據(jù)庫(kù)更具有優(yōu)勢(shì) 讀取主要使用 Epplus 插件,后續(xù)會(huì)推出關(guān)于Epplus的 AP I講解 讀取Excel文件,需要導(dǎo)入一些dll文件,才能進(jìn)行操作Excel數(shù)據(jù): 如果打包

    2024年02月05日
    瀏覽(28)
  • c#關(guān)于文件夾/文件/文本讀取遍歷,寫(xiě)入還有表格的讀取的一些方法

    c#關(guān)于文件夾/文件/文本讀取遍歷,寫(xiě)入還有表格的讀取的一些方法

    c#遍歷文件夾下的各種文件 將一些log寫(xiě)入到文本文件中: fs.Seek(offset, whence);移動(dòng)文件讀取的指針到指定位置 offset:開(kāi)始的偏移量,也就是代表需要移動(dòng)偏移的字節(jié)數(shù) whence:給offset參數(shù)一個(gè)定義,表示要從哪個(gè)位置開(kāi)始偏移;0代表從文件開(kāi)頭開(kāi)始算起,1代表從當(dāng)前位置開(kāi)始

    2024年02月01日
    瀏覽(28)
  • 【Unity】C# 創(chuàng)建/讀取/解析JSON數(shù)據(jù)

    判斷是否存在JSON數(shù)據(jù)文件沒(méi)有則創(chuàng)建并保存

    2024年02月16日
    瀏覽(18)
  • 找不到資產(chǎn)文件project.assets.json

    找不到資產(chǎn)文件project.assets.json

    NuGet 在“obj”文件夾中寫(xiě)入名為 project.assets.json 的文件,.NET SDK 使用該文件來(lái)獲取有關(guān)要傳遞到編譯器的包的信息 。 如果在生成過(guò)程中找不到資產(chǎn)文件 project.assets.json,則會(huì)發(fā)生此錯(cuò)誤。 1.執(zhí)行命令的方式解決 ? ?點(diǎn)擊工具,分別展開(kāi)命令行-開(kāi)發(fā)者命令提示,打開(kāi)命令提示

    2024年02月13日
    瀏覽(22)
  • Unity 數(shù)據(jù)讀取|(四)Json文件解析(Newtonsoft.Json ,Litjson,JsonUtility,SimpleJSON)

    JSON文件是一種純文本文件,用于存儲(chǔ)數(shù)據(jù),并且是基于JavaScript的一個(gè)子集。JSON文件通常用于存儲(chǔ)和傳輸數(shù)據(jù),以及在應(yīng)用程序之間交換信息。它們以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù),其中鍵是字符串,值可以是字符串、數(shù)字、布爾值、數(shù)組、對(duì)象或null。 JSON文件通常具有.json擴(kuò)展名

    2024年02月05日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包