如何使用jsonconvert将对象转换为json - without - key-quotations

Mat*_*yer 7 c# json

我使用jsonconvert将简单对象转换为json

JsonConvert.SerializeObject(new { label = "MyLabel1" });
Run Code Online (Sandbox Code Playgroud)

{ "label":"MyLabel1" }
Run Code Online (Sandbox Code Playgroud)

但我想得到没有引用的钥匙

{ label: "MyLabel1"}
Run Code Online (Sandbox Code Playgroud)

有没有办法通过使用jsonconvert将对象转换为json withoud"key"-quotations?

svi*_*ick 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();
    }
}
Run Code Online (Sandbox Code Playgroud)