DynamicJson不会反序列化"非对象"的数组。类型正确

时间:2015-10-20 23:13:18

标签: c# arrays json servicestack deserialization

DynamicJson.Deserialize("{\"arr\": [{\"key1\":1}, {\"key2\":2}]}")正常运行,但DynamicJson.Deserialize("{\"arr\": [1, 2]}")没有。

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

1 个答案:

答案 0 :(得分:3)

建议的方法是创建一个匹配您尝试反序列化的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");