我想在.NET Core的字符串中将C#对象序列化为JSON.
我已尝试使用此代码,但它会生成带引号的转义字符的字符串:
string s = JsonConvert.SerializeObject(sensorData);
Run Code Online (Sandbox Code Playgroud)
这是结果字符串:
"{\"Id\":\"100201\",\"Timestamp\":\"2018-02-08T08:43:51.7189855Z\",\"Value\":12.3}"
Run Code Online (Sandbox Code Playgroud)
如何在没有像这样的转义字符的情况下将对象序列化为字符串?
"{"Id":"100201","Timestamp":"2018-02-08T08:43:51.7189855Z","Value":12.3}"
Run Code Online (Sandbox Code Playgroud)
转义字符不在那里.如果我们可以合理地假设你的sensorData是:
class SensorData
{
public int Id { get; set; }
public DateTime TimeStamp { get; set; }
public double Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
var sensorData = new SensorData {
Id = 100201,
TimeStamp = DateTime.Now,
Value = 12.3,
};
string s = JsonConvert.SerializeObject(sensorData);
Console.WriteLine(s);
Run Code Online (Sandbox Code Playgroud)
输出是:
{"Id":100201,"TimeStamp":"2018-02-08T10:30:40.2290218+00:00","Value":12.3}
Run Code Online (Sandbox Code Playgroud)
转义字符是IDE功能,不是JSON的一部分.IDE会向您显示字符串,因为您需要将它们复制并粘贴到目标语言中 ; so:如果值是上面发布的JSON,那么IDE将把它显示为C#文字:
"{\"Id\":100201, ...snip... , \"Value\":12.3}"
Run Code Online (Sandbox Code Playgroud)
但是:这不是字符串的内容.
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |