解析JSON字符串时会遇到意外的角色



知道这个JSON字符串可能出了什么问题吗?

""iccid":"8500000000000000005","msisdn":"4485000000005","comment":null,"lastSessionStart":1480120318000,"lastSessionEnd":1480120456000,"simStatus":"Live","activated":true,"enabled":true,"connected":false,"usage":73728}"

我尝试通过:

对其进行浏览
json = json.Replace("\"", ""); 

,但我仍然遇到此错误:

解析值时遇到的意外角色:1。路径 " LastsessionStart",第1行,位置91。

jsonlint.com说这是一种有效的JSON格式。

如果这是您的实际json字符串,则看起来好像是双序列化的。要获取数据,您需要两次对其进行估算:一旦获得UNESCAPER JSON,然后一次获取实际数据。

使用json = json.Replace("\"", "");尝试取消示例该字符串无法正常工作 - 除了后斜切外,这实际上将删除所有引号,从而使JSON无效。

尝试这样的尝试,其中 json是您的问题中的字符串:

string unescapedJson = JsonConvert.DeserializeObject<string>(json);
Data data = JsonConvert.DeserializeObject<Data>(unescapedJson);

Data是以下类:

public class Data
{
    public string iccid { get; set; }
    public string msisdn { get; set; }
    public string comment { get; set; }
    public long lastSessionStart { get; set; }
    public long lastSessionEnd { get; set; }
    public string simStatus { get; set; }
    public bool activated { get; set; }
    public bool enabled { get; set; }
    public bool connected { get; set; }
    public int usage { get; set; }
}

小提琴:https://dotnetfiddle.net/doisux

相关内容

  • 没有找到相关文章

最新更新