读取JSON对象时出错
本文关键字:出错 对象 JSON 读取 | 更新日期: 2023-09-27 18:02:30
我有以下Json文件
"dependencies": {
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
},
和我有JSOn类在我的项目如下
public class ProjectJson
{
public Dictionary<string,string > dependencies { get; set; }
}
我试图通过json类读取我的json文件
ProjectJson jsonObj = JsonConvert.DeserializeObject<ProjectJson>(jsonContents);
但是我得到以下错误
读取字符串错误。意外令牌:starobject。路径"dependencies.Microsoft.NETCore.Razor.Tools"。
我猜这是由于节点依赖的结构。microsoft.netcore . razor . tools .如何解决这个问题?
编辑:我第一次看错了问题。这是修改后的答案。
你会得到一个异常,告诉你它不能将{ "version": "1.0.0-preview2-final", "type": "build" }
放入字符串中作为dependencies
字典的值。
如果您将dependencies
的类型更改为Dictionary<string, object>
或Dictionary<string, JToken>
,解析应该工作
: 用"{"answers"}"包装jsonContents,然后重试