【问题】
在C#中,使用:
中提到的fastJson去解析Json字符串:
{ 'query': 'weight loss', 'frequency': '3', 'has_recent_results': 1, 'results': [ { ... ... ...
结果出错:
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
转载请注明:在路上 » 【已解决】C#中使用fastJson解析json字符串出错:Could not find token at index 3