How can I read JSON content with a comment with Json.NET?(如何使用 Json.NET 阅读带有评论的 JSON 内容?)
问题描述
为了在 Google Chrome 浏览器中安装外部扩展,我尝试更新 Chrome 外部扩展 JSON 文件.使用 Json.NET
似乎很容易:
In order to install an external extension into Google Chrome browser, I try to update a Chrome external extension JSON file. Using Json.NET
it seems to be easy:
string fileName = "..."; // Path to a Chrome external extension JSON file
string externalExtensionsJson = File.ReadAllText(fileName);
JObject externalExtensions = JObject.Parse(externalExtensionsJson);
但我得到一个 Newtonsoft.Json.JsonReaderException
说:
"Error parsing comment. Expected: *, got /. Path '', line 1, position 1."
在调用 JObject.Parse
时,因为该文件包含:
when calling JObject.Parse
because this file contains:
// This JSON file will contain a list of extensions that will be included
// in the installer.
{
}
并且评论不是 JSON 的一部分(如 如何在 Json.NET 输出中添加注释?).
And comments are not part of JSON (as seen in How do I add comments to Json.NET output?).
我知道我可以使用正则表达式删除评论 (正则表达式删除 JavaScript 双斜杠 (//) 样式的注释),但我需要在修改后将 JSON 重写到文件中,保留注释可能是一件好事.
I know I can remove comments with a regular expression (Regular expression to remove JavaScript double slash (//) style comments), but I need to rewrite JSON into the file after modification and keeping comment can be a good thing.
有没有办法在不删除评论的情况下读取带有评论的 JSON 内容并能够重写它们?
Is there a way to read JSON content with comments without removing them and be able to rewrite them?
推荐答案
Json.NET 只支持读取多行 JavaScript 注释,即/*commment */
Json.NET only supports reading multi-line JavaScript comments, i.e. /* commment */
更新:Json.NET 6.0 支持单行注释
Update: Json.NET 6.0 supports single line comments
这篇关于如何使用 Json.NET 阅读带有评论的 JSON 内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 Json.NET 阅读带有评论的 JSON 内容?


基础教程推荐
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01