我使用jsonconvert将简单对象转换为json,如
JsonConvert.SerializeObject(new { label = "MyLabel1" });
到
{ "label":"MyLabel1" }
但我希望得到没有引用的键,如
{ label: "MyLabel1"}
有没有办法使用jsonconvert将对象转换为json withoud“key”-quotations?
答案 0 :(得分:8)
任何期望用于创建对象的JSON或实际JavaScript表示法(它是JSON的超集)的库都应该可以正常使用引号。
但如果你真的想删除它们,可以将JsonTextWriter.QuoteName
设置为false。这样做需要编写一些JsonConvert.SerializeObject()
手动使用的代码:
private static string SerializeWithoutQuote(object value)
{
var serializer = JsonSerializer.Create(null);
var stringWriter = new StringWriter();
using (var jsonWriter = new JsonTextWriter(stringWriter))
{
jsonWriter.QuoteName = false;
serializer.Serialize(jsonWriter, value);
return stringWriter.ToString();
}
}
答案 1 :(得分:0)
我补充答案@svick。对于保存格式,您需要使用StringBuilder for StringWriter。
accessibilityLabel