moh*_*sti 6 asp.net json anonymous-types servicestack
我有一个json如下:
"[{"a":"b","c":"d"},{"a":"e","c":"f"},{"a":"g","c":"h"}]"
Run Code Online (Sandbox Code Playgroud)
现在我想把它变成匿名类型"foo"的对象列表
var foo=new { a=string.empty , c=string.empty };
Run Code Online (Sandbox Code Playgroud)
代码是:
ServiceStackJsonSerializer Jserializer = new ServiceStackJsonSerializer();
dynamic foos = Jserializer.Deserialize<List<foo.GetType()>>(jsonString);
Run Code Online (Sandbox Code Playgroud)
但没有工作.
更新:
更换ServiceStack
用JavascriptSerializer
和传球dictionary[]
来解决,而不需要将问题anonymous
类型
JavaScriptSerializer jSerializer = new JavaScriptSerializer();
var Foos = jSerializer.Deserialize<Dictionary<string, object>[]>(jsonString);
Run Code Online (Sandbox Code Playgroud)
我不知道这个Jserializer
类是什么,但我知道这个JavaScriptSerializer
类。不幸的是,它不支持反序列化为匿名类型。您必须创建一个像这样的具体类型:
class Foo
{
public string a { get; set; }
public string c { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
使用以下代码对我有用:
const string json =
@"[{""a"":""b"",""c"":""d""},{""a"":""e"",""c"":""f""},{""a"":""g"",""c"":""h""}]";
var foos = new JavaScriptSerializer().Deserialize<Foo[]>(json);
Run Code Online (Sandbox Code Playgroud)
该变量foos
将包含一个实例数组Foo
。
归档时间: |
|
查看次数: |
4828 次 |
最近记录: |