DynamicJson不反序列化“非对象”数组.正确的类型

本文关键字:数组 类型 非对象 反序列化 对象 DynamicJson | 更新日期: 2023-09-27 18:18:32

DynamicJson.Deserialize("{'"arr'": [{'"key1'":1}, {'"key2'":2}]}")工作正常,DynamicJson.Deserialize("{'"arr'": [1, 2]}")工作不正常。

在ServiceStack中将非对象类型的数组正确反序列化为动态数组的正确方法是什么?

DynamicJson不反序列化“非对象”数组.正确的类型

推荐的方法是创建一个与你想要反序列化的JSON形状相匹配的POCO,例如:

var json = "{'"arr'": [1, 2]}";
public class Poco
{
    public List<string> Arr { get; set; }
}
var dto = json.FromJson<Poco>();

否则你可以使用动态JSON API来动态解析JSON,例如:

string[] arr = JsonObject.Parse(json)
    .Get<string[]>("arr");