LitJson-数据序列化生成Json字符串,构建嵌套对象

LitJson-数据序列化生成Json字符串,构建嵌套对象

Solution

  • 生成嵌套json(普通类对象转为Json对象):
JsonData root = new JsonData();
root["Category"] = "This is a category";
mData data = new mData();   // 自定义类mData、mPose
data.UTMPose = new mPosed();
string dataJson = JsonMapper.ToJson(data);
root["Data"] = JsonMapper.ToObject(dataJson);

Description

  • 没有自定义mPose类之前,mData类内嵌了Vector3d内置类。尝试直接JsonMapper.ToJson(data),报错:Error: JsonException: Max allowed object depth reached while trying to export from type UnityEngine.Vector3d
  • LitJson库仅支持有限几种基础数据格式,无法自动解析Pose等复杂数据类;若有需嵌套对象,需自定义类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据交互。序列化是将数据转换为JSON字符串的过程,而反序列化则是将JSON字符串恢复成原始数据结构。 **序列化过程:** 1. 将复杂的数据结构(如对象、数组、自定义类型等)转换为键值对的形式。 2. 使用JSON.stringify() 方法,提供一个JavaScript对象或数组作为参数,这个方法会返回一个字符串,其中包含了对应的JSON格式。 3. 字符串中的键用双引号包围,值用逗号分隔,整个结构被大括号或方括号包围。 **反序列化过程:** 1. 使用JSON.parse() 方法,将JSON字符串作为参数,这个方法解析输入的字符串并返回对应的JavaScript对象或数组。 2. 反序列化后的对象可以直接在JavaScript中使用,其结构与原始数据一致。 **学习步骤:** 1. **基础理解**:了解JavaScript的数据类型和基本语法,因为JSON是基于JavaScript的。 2. **JSON语法**:掌握JSON的基本语法,包括键值对、数组、嵌套对象等。 3. **API学习**:熟悉JavaScript的JSON.stringify() 和 JSON.parse() 函数的用法和参数。 4. **示例实践**:通过编写代码进行序列化和反序列化的操作,例如在Node.js、浏览器环境中尝试操作。 5. **错误处理**:学习处理可能出现的错误,比如无效的JSON字符串、循环引用等问题。 6. **进阶内容**:如果涉及复杂数据结构,可能需要学习如何自定义序列化和反序列化逻辑,以及如何使用第三方库(如axios的transformRequest和transformResponse选项)。 **相关问题--:** 1. JSON.stringify() 和 JSON.parse() 分别做什么? 2. 如何处理JSON.stringify() 中的特殊字符? 3. JavaScript中如何处理循环引用导致的序列化问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值