C# Webrequest json 对象
C# Webrequest json to object
我正在尝试将此 JSON 转换为 class 的对象,但出现错误:应为“:”或“{”。
这是JSON:
{"data":[{"id":"https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
"name": "Epic Games' Fortnite",
"url": "https:\/\/www.epicgames.com\/fortnite\/",
"about": [{"name": "Fortnite"}]]}
这里是 classes:
class WebResult
{
public string id { get; set; }
public string name { get; set; }
public string url { get; set; }
public string[] about { get; set; }
}
class Results
{
public List<WebResult> data { get; set; }
}
这里出现错误:
Results result = new JavaScriptSerializer().Deserialize<Results>(json);
您必须关闭 data
table 中的第一个对象。如错误消息中所述,关闭 about
table.
后缺少关闭 }
{
"data":
[
{
"id":"https://api.cognitive.microsoft.com/api/v7/#WebPages.0",
"name":"Epic Games' Fortnite",
"url":"https://www.epicgames.com/fortnite/",
"about":[ { "name":"Fortnite" } ]
} <-- missing
]
}
您可以使用在线 json 解析器 (like this one) 快速解决语法错误。
您的 C# 模型似乎对此无效 json。要从 json 中创建 C# 类,请查看 quicktype.
您的json无效。应该是:
var json = {"data":[{"id":"https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
"name": "Epic Games' Fortnite",
"url": "https:\/\/www.epicgames.com\/fortnite\/",
"about": [{"name": "Fortnite"}]}]}
另外你的 class 应该有一个关于 class:
public class Results
{
public List<WebResult> Data { get; set; }
}
public class WebResult
{
public string Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public List<About> About { get; set; }
}
public class About
{
public string Name { get; set; }
}
要反序列化,您可以执行以下操作:
var deserializer = new JavaScriptSerializer();
var result = deserializer.Deserialize<Results>(json);
我正在尝试将此 JSON 转换为 class 的对象,但出现错误:应为“:”或“{”。
这是JSON:
{"data":[{"id":"https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
"name": "Epic Games' Fortnite",
"url": "https:\/\/www.epicgames.com\/fortnite\/",
"about": [{"name": "Fortnite"}]]}
这里是 classes:
class WebResult
{
public string id { get; set; }
public string name { get; set; }
public string url { get; set; }
public string[] about { get; set; }
}
class Results
{
public List<WebResult> data { get; set; }
}
这里出现错误:
Results result = new JavaScriptSerializer().Deserialize<Results>(json);
您必须关闭 data
table 中的第一个对象。如错误消息中所述,关闭 about
table.
}
{
"data":
[
{
"id":"https://api.cognitive.microsoft.com/api/v7/#WebPages.0",
"name":"Epic Games' Fortnite",
"url":"https://www.epicgames.com/fortnite/",
"about":[ { "name":"Fortnite" } ]
} <-- missing
]
}
您可以使用在线 json 解析器 (like this one) 快速解决语法错误。
您的 C# 模型似乎对此无效 json。要从 json 中创建 C# 类,请查看 quicktype.
您的json无效。应该是:
var json = {"data":[{"id":"https:\/\/api.cognitive.microsoft.com\/api\/v7\/#WebPages.0",
"name": "Epic Games' Fortnite",
"url": "https:\/\/www.epicgames.com\/fortnite\/",
"about": [{"name": "Fortnite"}]}]}
另外你的 class 应该有一个关于 class:
public class Results
{
public List<WebResult> Data { get; set; }
}
public class WebResult
{
public string Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public List<About> About { get; set; }
}
public class About
{
public string Name { get; set; }
}
要反序列化,您可以执行以下操作:
var deserializer = new JavaScriptSerializer();
var result = deserializer.Deserialize<Results>(json);