Newtonsoft 序列化:带前导零的字符串
Newtonsoft Serialize: strings with leading zeros
我有一个简短的问题:
为什么这样做
Newtonsoft.Json.JsonConvert.DeserializeObject<string>("768")
但这不是
Newtonsoft.Json.JsonConvert.DeserializeObject<string>("0768")
在 Json 字符串中应该有 2 组 "",试试这个
string s= Newtonsoft.Json.JsonConvert.DeserializeObject<string>("\"0768\""); // 0768
如果只有一组,json 将字符串反序列化为数字
int i= JsonConvert.DeserializeObject<int>("768"); //768
但由于某些原因,任何从零开始的数字都会导致异常
int i= JsonConvert.DeserializeObject<int>("0768");
这是 Json 文档中的一个众所周知的错误
但是如果你尝试这个,你会得到一个异常
string s= JsonConvert.DeserializeObject<string>("abc")
没关系
string s= JsonConvert.DeserializeObject<string>("\"abc\""); //abc
我有一个简短的问题:
为什么这样做
Newtonsoft.Json.JsonConvert.DeserializeObject<string>("768")
但这不是
Newtonsoft.Json.JsonConvert.DeserializeObject<string>("0768")
在 Json 字符串中应该有 2 组 "",试试这个
string s= Newtonsoft.Json.JsonConvert.DeserializeObject<string>("\"0768\""); // 0768
如果只有一组,json 将字符串反序列化为数字
int i= JsonConvert.DeserializeObject<int>("768"); //768
但由于某些原因,任何从零开始的数字都会导致异常
int i= JsonConvert.DeserializeObject<int>("0768");
这是 Json 文档中的一个众所周知的错误
但是如果你尝试这个,你会得到一个异常
string s= JsonConvert.DeserializeObject<string>("abc")
没关系
string s= JsonConvert.DeserializeObject<string>("\"abc\""); //abc