Unity LitJson的简单使用(LitJson写入文本text以及读取文本text)

本文介绍如何在Unity环境下使用LitJson库进行JSON数据的读取和写入操作,包括创建JSON数据、修改并保存更新后的数据的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

public class WRJson : MonoBehaviour
{
    private string filePath;

    private void Awake()
    {
        filePath = Application.dataPath + "/Susie.text";
    }

    /// <summary>
    /// 方法一:
    /// </summary>
    private void Start()
    {
        JsonWriter jw = new JsonWriter();
        jw.WriteArrayStart();//json里面的中括号

        jw.WriteObjectStart();//json里面的花括号
        jw.WritePropertyName("Name");
        jw.Write("Susie");
        jw.WriteObjectEnd();//花括号括回去

        jw.WriteObjectStart();//json里面的花括号
        jw.WritePropertyName("Sex");
        jw.Write("girl");
        jw.WriteObjectEnd();//花括号括回去

        jw.WriteObjectStart();//json里面的花括号
        jw.WritePropertyName("Age");
        jw.Write("23");
        jw.WriteObjectEnd();//花括号括回去

        jw.WriteArrayEnd();////中括号括回去

        string json = jw.ToString();

        //StreamWriter sw;
        //if (File.Exists(filePath))
        //{
        //    sw = File.AppendText(filePath);
        //}
        //else
        //{
        //    sw = File.CreateText(filePath);
        //}
        //sw.Close();

        File.WriteAllText(filePath, json);//[{"Name":"Susie"},{"Sex":"girl"},{"Age":"23"}]


        //读取数据:
        //JsonData jsonData = JsonMapper.ToObject(File.ReadAllText(filePath));
        JsonData jsonData = JsonMapper.ToObject(json);

        //修改
        jsonData[0]["Name"] = "Laurence";//jsonData[0][0] = "Laurence";
        jsonData[1]["Sex"] = "boy";//jsonData[1][0] = "boy";
        jsonData[2]["Age"] = "25";//jsonData[2][0] = "25";

        //再写入:
        JsonWriter jw1 = new JsonWriter();
        jsonData.ToJson(jw1);
        string json1 = jw1.ToString();
        File.WriteAllText(filePath, json1);//[{"Name":"Laurence"},{"Sex":"boy"},{"Age":"25"}]
    }

    /// <summary>
    ///  方法二: 参考网址: https://www.jianshu.com/p/7804a7942849
    /// </summary>
    //void Start()
    //{
    //    JsonData jsonData = new JsonData();
    //    jsonData["name"] = "Susie";
    //    jsonData["age"] = 23;
    //    jsonData["sex"] = "girl";
    //    string strJson = jsonData.ToJson();
    //    File.WriteAllText(filePath, strJson);//转化成 json 格式字符串

    //   // JsonData jsonData2 = JsonMapper.ToObject(strJson);//转化成json格式数据
    //   // Debug.Log(jsonData2["name"]);//Susie

    //    jsonData["info"] = new JsonData();
    //    jsonData["info"]["phone"] = 123456;
    //    jsonData["info"]["address"] = "shanghai";

    //    strJson = jsonData.ToJson();
    //    File.WriteAllText(filePath, strJson);

    //    //JsonData jsonData3 = JsonMapper.ToObject(strJson);
    //    // Debug.Log(jsonData["info"]["phone"]);// Debug.Log(jsonData["info"][0]);

    //    JsonData data = new JsonData();
    //    data.Add(1);
    //    data.Add(2);
    //    data.Add(3);
    //    data.Add("Launch!");

    //    jsonData["myArray"] = data;//数组添加
    //    strJson = jsonData.ToJson();

    //    File.WriteAllText(filePath, strJson);

    //    for(int i=0;i<jsonData.Count;i++)
    //    {
    //        Debug.Log(jsonData[i]);
    //        if(jsonData[i].IsArray)
    //        {
    //            Debug.Log(jsonData[i][3]);//数组解析
    //        }
    //    }

    //}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值