我有一个简单的package.json文件,我想添加一个评论.有办法做到这一点,还是有任何黑客可以使这项工作?
{
"name": "My Project",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.x",
"mongoose": "3.x"
},
"devDependencies" : {
"should": "*"
/* "mocha": "*" not needed as should be globally installed */
}
}
Run Code Online (Sandbox Code Playgroud)
上面的示例注释不适用于npm中断.我也试过//风格评论.
有人能告诉我使用"Object Literal Notation"和JSON对象定义的JavaScript对象之间的主要区别是什么?
根据一本JavaScript书,它说这是一个使用Object Notation定义的对象:
var anObject = {
property1 : true,
showMessage : function (msg) { alert(msg) }
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,为什么它不是JSON对象?仅仅因为它没有使用引号定义?
这是有效的json吗?
{
"a" : "x",
"a" : "y"
}
Run Code Online (Sandbox Code Playgroud)
http://www.json.org/没有说明被禁止的事情.
但显然它没有多大意义,是吗?大多数实现可能使用哈希表,因此无论如何它都被覆盖.
为了在Google Chrome浏览器中安装外部扩展程序,我尝试更新chrome外部扩展json文件.使用Json.NET它似乎很容易:
string fileName = "..."; // path to chrome external extension json file
string externalExtensionsJson = File.ReadAllText(fileName);
JObject externalExtensions = JObject.Parse(externalExtensionsJson);
Run Code Online (Sandbox Code Playgroud)
但我得到一个Newtonsoft.Json.JsonReaderException说法:
"Error parsing comment. Expected: *, got /. Path '', line 1, position 1."
Run Code Online (Sandbox Code Playgroud)
在调用时,JObject.Parse因为此文件包含:
// This json file will contain a list of extensions that will be included
// in the installer.
{
}
Run Code Online (Sandbox Code Playgroud)
和注释不是json的一部分(如何在Json.NET输出中添加注释?).
我知道我可以用正则表达式删除注释(正则表达式删除javascript双斜杠(//)样式注释)但我需要在修改后将json重写到文件中并保持评论可能是一个很好的想法.
问题:有没有办法在没有删除它们的情况下读取带有注释的json并能够重写它们?
可能重复:
我可以评论JSON文件吗?
我们正在.json项目中使用文件.我们想知道是否可以向文件添加注释并避免崩溃JSON解析器.
我们尝试使用以下注释类型执行此操作,但它们在解析时都会使JSON文件崩溃:
# I crash
// I crash
/* I crash */
Run Code Online (Sandbox Code Playgroud)
是否有可接受的评论JSON文件?
IAM政策是复杂的野兽.在制作它们时添加注释会很不错.例如,
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1422979261000",
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
],
"Comment": "Foo"
# or Bar
"Resource": [
"*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
这些都不奏效.是否存在为这些政策添加评论的方法?
有没有办法可以自动添加注释到JSON.Net的序列化输出?
理想情况下,我认为它类似于以下内容:
public class MyClass
{
[JsonComment("My documentation string")]
public string MyString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
或者(如果可以避免注释,则更好):
public class MyClass
{
/// <summary>
/// My documentation string
/// </summary>
public string MyString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
会产生:
{
//My documentation string
"MyString": "Test"
}
Run Code Online (Sandbox Code Playgroud)
我问的原因是我们使用Json.NET来序列化配置文件,以后可以手动更改.我想在我的C#配置类中包含文档,并在JSON中重现这些文档,以帮助以后可能需要更改文件的人.
更新:正如RoToRa在下面指出的那样,在JSON规范中技术上不允许发表评论(请参阅http://www.json.org上方便的语法图).但是,Json.NET站点上的功能表包括:
支持阅读和撰写评论
并Newtonsoft.Json.JsonTextWriter.WriteComment(string)存在输出评论.我对创建注释的简洁方法感兴趣,而不是JsonTextWriter直接使用.
我有一个json文件,如下所示:
{
"author":"John",
"desc": "If it is important to decode all valid JSON correctly \
and speed isn't as important, you can use the built-in json module, \
orsimplejson. They are basically the same but sometimes simplej \
further along than the version of it that is included with \
distribution."
//"birthday": "nothing" //I comment this line
}
Run Code Online (Sandbox Code Playgroud)
此文件由另一个程序自动创建.我如何用Python解析它?
我的应用程序中需要C/C++ Parser.应用程序的作用是调用rest webservice并从服务中获取输出.如果输出是JSON,它应该解析它并向最终用户显示结果.
你能推荐我好/最好的C/CPP JSON解析器(根据你),以便我可以在我的应用程序中使用吗?
当我在线搜索时,我得到了多个JSON解析器.但我想知道最好的.
提前致谢