读取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 .如何解决这个问题?

读取JSON对象时出错

编辑:我第一次看错了问题。这是修改后的答案。

你会得到一个异常,告诉你它不能将{ "version": "1.0.0-preview2-final", "type": "build" }放入字符串中作为dependencies字典的值。

如果您将dependencies的类型更改为Dictionary<string, object>Dictionary<string, JToken>,解析应该工作

原来

:
用"{"answers"}"包装jsonContents,然后重试