我手里有一个json,我想从c#控制台应用程序中获取一个json。
我想使用JavaScriptSerializer反序列化操作,但是如果我用这种方法提供完整的json,则会收到类似无效json的错误。这就是为什么我要为该方法提供json。
我该如何解决?
全杰森:
{
"ABCFields": {
},
"XYZFields": {
},
"OPRFields": {
"MenuEntity": [
{
"id": "89899",
"title": "Main Menu",
"link": null,
"test": "test"
},
{
"id": "2323",
"title": "Main Menu",
"link": null,
"test": "test"
}
]
}
}
我想达到以下目标;
[
{
"id": "89899",
"title": "Main Menu",
"link": null,
"test": "test"
},
{
"id": "2323",
"title": "Main Menu",
"link": null,
"test": "test"
}
]
答案 0 :(得分:2)
首先,您需要使用以下类结构来反序列化JSON表示的完整对象:
public class ABCFields
{
}
public class XYZFields
{
}
public class MenuEntity
{
public string id { get; set; }
public string title { get; set; }
public object link { get; set; }
public string test { get; set; }
}
public class OPRFields
{
public List<MenuEntity> MenuEntity { get; set; }
}
public class RootObject
{
public ABCFields ABCFields { get; set; }
public XYZFields XYZFields { get; set; }
public OPRFields OPRFields { get; set; }
}
这不能被跳过,但是当您将反序列化嵌套的对象时,反序列化JSON响应中的其他所有内容的性能影响可以忽略不计,并且不会引起关注。
反序列化时,您只需选择嵌套对象,而忽略一个链接中的其他所有内容:
var oprfields = new JsonSerializer...<FullObjectType>().OprFields;
上面的反序列化将取决于您所说的父类。
答案 1 :(得分:-1)
这是异端,它是vb,但是您去了:
x[2](1, 2); // this is equivalent to fn3(1, 2)