如何在Json.Net中设置QuoteName设置?
首先,我知道它不是有效的JSON格式,但这是我的客户web服务设置,我需要将JSON.Net JsonTextWriter的QuoteName设置为false,但我不知道如何正确执行。这是我的尝试:如何在Json.Net中设置QuoteName设置?,json,json.net,settings,Json,Json.net,Settings,首先,我知道它不是有效的JSON格式,但这是我的客户web服务设置,我需要将JSON.Net JsonTextWriter的QuoteName设置为false,但我不知道如何正确执行。这是我的尝试: foreach (var c in a) { var jsonobjects = JsonConvert.SerializeObject(c, new JsonTextWriter { QuoteName = false }
foreach (var c in a)
{
var jsonobjects = JsonConvert.SerializeObject(c, new JsonTextWriter
{
QuoteName = false
}
);
//Some code that using serialized json object
}
为了澄清我想要什么。我需要有没有引号的Json属性名。类似于:{Property:“Value”}。以下是一个示例:
班级:
public class Address
{
public string Street { get; set; }
public uint Number { get; set; }
public string City { get; set; }
public string ZipCode { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
var address = new Address
{
Street = "Fulton Street",
Number = 100,
City = "New York",
ZipCode = "10038",
State = "NY",
Country = "USA"
};
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
using (var writer = new JsonTextWriter(stringWriter))
{
writer.QuoteName = false;
serializer.Serialize(writer, address);
}
var json = stringWriter.ToString();
Console.WriteLine(json);
{
Street: "Fulton Street",
Number: 100,
City: "New York",
ZipCode: "10038",
State: "NY",
Country: "USA"
}
序列化逻辑:
public class Address
{
public string Street { get; set; }
public uint Number { get; set; }
public string City { get; set; }
public string ZipCode { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
var address = new Address
{
Street = "Fulton Street",
Number = 100,
City = "New York",
ZipCode = "10038",
State = "NY",
Country = "USA"
};
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
using (var writer = new JsonTextWriter(stringWriter))
{
writer.QuoteName = false;
serializer.Serialize(writer, address);
}
var json = stringWriter.ToString();
Console.WriteLine(json);
{
Street: "Fulton Street",
Number: 100,
City: "New York",
ZipCode: "10038",
State: "NY",
Country: "USA"
}
输出:
public class Address
{
public string Street { get; set; }
public uint Number { get; set; }
public string City { get; set; }
public string ZipCode { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
var address = new Address
{
Street = "Fulton Street",
Number = 100,
City = "New York",
ZipCode = "10038",
State = "NY",
Country = "USA"
};
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
using (var writer = new JsonTextWriter(stringWriter))
{
writer.QuoteName = false;
serializer.Serialize(writer, address);
}
var json = stringWriter.ToString();
Console.WriteLine(json);
{
Street: "Fulton Street",
Number: 100,
City: "New York",
ZipCode: "10038",
State: "NY",
Country: "USA"
}
示例:
public class Address
{
public string Street { get; set; }
public uint Number { get; set; }
public string City { get; set; }
public string ZipCode { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
var address = new Address
{
Street = "Fulton Street",
Number = 100,
City = "New York",
ZipCode = "10038",
State = "NY",
Country = "USA"
};
var serializer = new JsonSerializer();
var stringWriter = new StringWriter();
using (var writer = new JsonTextWriter(stringWriter))
{
writer.QuoteName = false;
serializer.Serialize(writer, address);
}
var json = stringWriter.ToString();
Console.WriteLine(json);
{
Street: "Fulton Street",
Number: 100,
City: "New York",
ZipCode: "10038",
State: "NY",
Country: "USA"
}