unity c# 读写 json 数组(FromJson / ToJson)

这篇具有很好参考价值的文章主要介绍了unity c# 读写 json 数组(FromJson / ToJson)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Json 的写入 (ToJson)

写入的一定是一个完整的 object,不能是 object 的数组

ref tojson

定义对象为

[Serializable]
public class UserObject
{
    public int userId;
    public int id;
    public string title;
    public string body;
}

// !!! 注意:需要在自己定义的对象基础上,再定义一个数组对象
[Serializable]
public class RootObject
{
    public UserObject[] users;
}
List<UserObject> UserObjectList = new List<UserObject>();

for (int i = 0; i < 10; i++) {
	UserObject json = new UserObject();
	json.userId = i;
	json.id = i;
	json.title = "title"";
	json.body = "---";
	UserObjectList.Add(json);
}


string JsonPath = Application.dataPath + "/out.json";  
if (!File.Exists(JsonPath))  
{  
    File.Create(JsonPath);  
}  

 //!!!关键代码
 // 把 List 转化为 Array 后创建一个 RootObject 实例,将它导出为 json
string result = JsonUtility.ToJson(new RootObject(UserObjectList.ToArray())); 

File.WriteAllText(JsonPath , result);

Json 的读取 (FromJson)

读取的时候一定要是一个完整的 object

ref json must represent an object type

如果 text 的格式为一个json对象:

{
    "userId": 5,
    "id": 42,
    "title":"Douglas Adams",
    "body":"foobar"
}

那么定义对象为

[Serializable]
public class UserObject
{
    public int userId;
    public int id;
    public string title;
    public string body;
}

读取格式为

string jsonStrRead = File.ReadAllText(Application.dataPath + "/in.json");
 //!!!关键代码,可与最后的代码进行比较
 // 这里解析的类为 UserObject
UserObject myObject = JsonUtility.FromJson<UserObject>(jsonStrRead);

如果 text 的格式为一堆json对象的列表:

[
    {
        "userId": 5,
        "id": 42,
        "title":"Douglas Adams",
        "body":"foobar"
    },
    {
        "userId": 6,
        "id": 43,
        "title":"Ford",
        "body":"---"
    }
]

那么定义对象为

[Serializable]
public class UserObject
{
    public int userId;
    public int id;
    public string title;
    public string body;
}

[Serializable]
public class RootObject
{
    public UserObject[] users;
}

读取的格式为文章来源地址https://www.toymoban.com/news/detail-732963.html

string jsonStrRead = File.ReadAllText(Application.dataPath + "/in.json");
 //!!!关键代码,可与前面的代码进行比较
 // 这里解析的类为 RootObject(即 UserObject 组成的数组对象)
 // 先把 jsonStrRead 变成 { "users" jsonStrRead },再从 users 中提取得到 jsonStrRead
UserObject[] myObject = JsonUtility.FromJson<RootObject>("{\"users\":" + jsonStrRead + "}").users;

到了这里,关于unity c# 读写 json 数组(FromJson / ToJson)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity 3D】C#从JSON文件中读取、解析、保存数据(附源码)

    JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式存储和表示数据,简洁和清晰的层次结构使JSON成为理想的数据交换语言,易于读者阅读和编写,同时也易于机器解析和生成,并有效的提高网络传输效率 生成JSON数据实例代码如下 下面的代码将JSON中数据

    2024年02月11日
    浏览(45)
  • 数组(Arrays)和列表(Lists) — Unity C#

    数组是 C# 提供的最基本的集合。将它们视为一组值的容器,在编程术语中称为元素,每个值都可以单独访问或修改。 · 数组可以存储任何类型的值;所有元素必须属于同一类型。 · 数组的长度或元素数量是在创建时设置的。 · 如果创建时没有指定初始值,则每个元素都会被

    2024年01月23日
    浏览(45)
  • unity的C#学习——数组、字符串和结构体

    数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。 所有的数组都是由 连续的内存位置 组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。 声明数组变量并不是声明 number0、number

    2024年02月10日
    浏览(36)
  • 【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)

    觉得有帮助请点赞关注收藏~~~ 数组时有序的元素序列,存在有限个相同的变量的集合叫做数组名,组成数组二点各个变量称为数组的分量,又称为数组的元素,有时也称为下标变量,用于区分数组的各个元素的数组编号称为下标。 初始化数组 datatype [] arrayname datetype指定存储

    2024年02月04日
    浏览(30)
  • C++ 读写Json文件

    目录 1.JSON简介  2.结构形式 2.1 键值形式  2.2键-数组形式 2.3 键-值(键-值)形式 3. C++实现  3.1 读取JSON文件 3.2 写入JSON文件 JSON文件无论是在web开发、客户端开发、服务端等开发中都是应用比较广泛的的第一种轻量级数据交换格式,非常方便阅读和编写。也是开发、测试、

    2024年02月14日
    浏览(26)
  • python读写json

    使用python读写json文件

    2024年02月10日
    浏览(24)
  • python之json文件读写操作

    python操作json文件通常有4中方法: json.loads json.load json.dumps json.dump json.loads 将json对象转化为python对象,也就是将字符串转换为字典类型,例如: json.load 对json文件进行读取 也可以通过json.loads读取,但是需要把文件内容转换为二进制流,json.loads主要是对数据流进行转换为jso

    2024年02月10日
    浏览(36)
  • C++使用rapidjson读写json数据

    RapidJSON简介及使用_fengbingchun的博客-CSDN博客  rapidjson是腾讯的高效C++ Json解析器,只有头文件,可跨平台使用 mirrors / Tencent / rapidjson · GitCode 使用rapidjson解析和组装json_youyicc的博客-CSDN博客        

    2024年02月15日
    浏览(26)
  • 使用python读写txt和json(jsonl)大文件

    在深度学习方向,尤其是NLP领域,最重要的就是和海量的文字打交道,不管是读取原始数据还是处理数据亦或是最终写数据,合理的读写文件是极为重要的,这篇博客用以记录一下工作中学习到的对大文件读写的过程。 目录 读写txt文本文件 读写JSON文件 读写JSONL文件 遇到的

    2024年02月05日
    浏览(30)
  • <九> objectARX开发:读写Excel、json与txt格式文件

      在实际应用中,有时候我们需要通过文本格式或者表格等格式来传递数据,例如*.txt、Excel表格或者*.json文件。此时我们就需要想办法来读写这些数据。本节我们来说一下如何读写读写Excel、json与txt格式文件。 2.1 读写Excel   excel文件的读写有多种方式来实现,这里我们

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包