DynamicJson 没有正确反序列化 "non-object" 类型的数组

DynamicJson does not deserialize arrays of "non-object" types correctly

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

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

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

var json = "{\"arr\": [1, 2]}";

public class Poco
{
    public List<string> Arr { get; set; }
}

var dto = json.FromJson<Poco>();

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

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