我不熟悉C#编码和序列化Json对象。
我正在尝试使用Json.net加载保存为json对象的文件(“filename.json”)
下面是我试图用来加载它的代码。我在这里查看了加载Json对象的最佳方法,这似乎是共识。我试图加载的对象稍后在类中定义。我使用http://json2csharp.com/工具从Json文件创建一个类。
List<DashboardList> dashboardList = null;
DashboardList db = new DashboardList();
try
{
StreamReader sr = new StreamReader(FileLoc);
string jsonString = sr.ReadToEnd();
db = JsonConvert.DeserializeObject<DashboardList>(jsonString);
Json对象如下。
{
"DashboardList": {
"Dashboard": {
"id": "1",
"title": "Executive Dashboard",
"description": "Generic Dashboard",
"allowableMemberTypes": "",
"Pages": {
"Page": [
其余的Json很长,可能并不重要。
当我运行代码时,我得到一个带有空字段的Dashboard对象。
编辑:
public class Dashboard
{
public string id { get; set; }
public string title { get; set; }
public string description { get; set; }
public string allowableMemberTypes { get; set; }
public Pages Pages { get; set; }
}
public class DashboardList
{
public Dashboard Dashboard { get; set; }
}
答案 0 :(得分:0)
后人:
RootObject ro = new RootObject();
try
{
StreamReader sr = new StreamReader(FileLoc);
string jsonString = sr.ReadToEnd();
JavaScriptSerializer ser = new JavaScriptSerializer();
ro = ser.Deserialize<RootObject>(jsonString);
}
你需要在.net 4.0中添加对system.web.extensions的引用,这是在程序文件(x86)&gt;中。参考组件&gt;框架&GT; system.web.extensions.dll,你需要确保你只使用常规4.0框架而不是4.0客户端