unity3d 在Unity中写入JSON文件

k2arahey  于 2022-11-25  发布在  其他
关注(0)|答案(3)|浏览(167)

我有一个JSON文件,如下所示:

{
    "Person": "true",
    "Age": "true",
    "Location": "false",
    "Phone": "true"
}

我可以使用下面的代码在Unity中读取它。我使用的是SimpleJSON库。

using System.Collections;
using System.Collections.Generic;
using System.IO;
using SimpleJSON;
using UnityEngine;
using UnityEngine.UI;

public class ReadWriteScene : MonoBehaviour {
    public string jsonFile;
    JSONNode itemsData;
    string path;

    // Start is called before the first frame update
    void Start () {

        path = Path.Combine (Application.streamingAssetsPath, "Settings.json");
        if (File.Exists (path)) {
            jsonFile = File.ReadAllText (path);
            DeserializePages ();
        }
    }

    void Update () {
        
    }

    public void DeserializePages () {
        itemsData = JSON.Parse (jsonFile);
        var parseJSON = JSON.Parse (jsonFile);

        Debug.Log(parseJSON["Phone"].Value);

    }

}

但是我不知道如何通过代码编写或修改JSON?例如,我如何将属性“年龄”更改为“假”?

8fsztsew

8fsztsew2#

itemsData["Age"] = "false";
File.WriteAllTextAsync(path, itemsData.ToString());
ukxgm1gy

ukxgm1gy3#

这很简单,我使用了JSONObject并执行了以下操作:

public void SaveData(){
        JSONObject json = new JSONObject();
        json.Add("Person", "true");
        json.Add("Age", "false");
        json.Add("Location", "true");
        json.Add("Phone", "true");

        File.WriteAllText(path, json.ToString());
    }

要知道,我没有创建一个新的文件,它取代了已经创建的文件,但请确保您添加所有给定的属性,否则它将被删除。

相关问题