因此,首先,我不能使用“动态”功能,因为这最终将通过不支持动态语言运行时(DLR)的IL2CPP转译器进行。
也就是说,我正在编写一个供其他开发人员使用的客户端,该客户端使用非常通用的API,该API允许(包括其他内容)定义/更新其值可以是任何有效JSON类型(字符串,数字,数组的属性) ,嵌套对象),以及列出所有存在的属性及其值。可以想象,在应用程序运行期间可以修改以下数组元素。我正在尝试找出最符合人体工程学的方法来反序列化C#中的以下内容:
[
{
"_id": "43534253"
"value": {
"name": "named thing",
"address": [
"Address Line 1",
"Address Line 2"
],
"location": {
"lat": 50.123456,
"long": -78.34
}
}
},
{
"_id": "2345324",
"value": {
"a": "hello world",
"b": 188.40723030755805,
"c": 260
}
},
...
]
要清楚,然而,进一步的约束是,这些不是“值”的仅有的两种值类型。该数组是请求“通过API创建的所有各种类型的属性及其值”的结果。开发人员的下一个调用可能是使用
value: 0
这将在上面的数组中添加第三个元素,其值为数字。