【已解决】C#中使用fastJson解析json字符串出错:Could not find token at index 3

【问题】

在C#中,使用:

【已解决】C#中解析Json字符串

中提到的fastJson去解析Json字符串:

{
'query': 'weight loss',
'frequency': '3',
'has_recent_results': 1,
'results': [
{
...
...
...

结果出错:

Could not find token at index 3

 

Could not find token at index 3

【解决过程】

1.去看了看原始的json字符串,大概猜到了:

估计是那个,之前折腾Python时,就遇到的类似问题:

json中的key是字符的话,不能单引号,必须是双引号:

【已解决】Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 1 (char 1)

所以,此处打算把单引号,都替换为双引号。

替换之前,确认一下,此json字符串中,是不是,其内容中,也可能包含单引号,否则就会破坏原有内容了。

看了看之前,确认没有。

所以就可以去替换了:

            // to deserialize a string to an object
            string filteredJsonText = jsonText.Replace("'", "\"");
            var newobj = fastJSON.JSON.Instance.ToObject(filteredJsonText);

然后就解决了此问题了。

 

【总结】

如之前所总结,json中,标准的语法中,没有单引号,必须是双引号。

 


此处虽然解决了上述问题,但是又出现其他的,别的问题:

【未解决】C#中用fastJson解析json字符串出错:Cannot determine type



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量