首先 不确定如果是单独的节点,肯定是可以自己写代码判断解决的,
但是我是强迫症,我要解决自动化,解决子节点中的子节点中的子节点, 循环节点,
![](https://i-blog.csdnimg.cn/blog_migrate/838f18d10489571a1c6d2bc94b99aec5.png)
image.png
把这个这个不确定的字段变成字符串,或者 JObject或者JArray
假设
type=1则data是 数组
{
"type":1
"data":[]
}
假设 type=2
data是对象
{
"type":1
"data":{}
}
然后我把data定义了各种类型都失败了,定义为string也是我的一个退让。JsonUtility.FromJson<MyNode>(obj.ToString());
![](https://i-blog.csdnimg.cn/blog_migrate/cee951516a77a7836f85e6b2210dcd01.png)
1S0(AR8@T(5DZS805A7T6Z7.png
上面某个东西写错了,不过定义了jarray或者jobject 就会为null, 或者 dynamic或object 者string类
型但是真实的值并不是字符串也是为null,
这不应该呀,java都支持。
于是我我想到了牛顿JSON,以及微软自带的MyNode myNode =JsonConvert.DeserializeObject<MyNode>(obj.ToString());
完美解决,支持JObject,JArray,object 或者dynamic貌似则直接识别为字符串,不过这都能解决需求了。
image.png