我收到的JSON字符串不一致。有时,JSON中的某些数据元素返回“List”类型,其他时候返回“字典”类型。目前使用JavaScriptSerializer来反序列化JSON字符串,但它在例如
的情况下给了我一个例外例如 - 我有一个数据字段“jpjhseq”我已经声明为字典,但有时JSON字符串将其作为字符串返回,我得到一个异常。其他字段也会出现此问题。
JavaScriptSerializer serializer = new JavaScriptSerializer();
Foo foo = serializer.Deserialize<Foo>(jsonString);
我多次遵循json字符串
{"element1":{"0":"0","1":"S","2":"S","3":"J","4":"Q","5":"X","6":"M"},"element2":{"1":"one" ,"2":"two","4":"four","5":"five","6":"six","7":"seven","8":"eight"}}
我得到的其他数据跟随json字符串
{"element1":["0","S","S","J","Q","X","M"],"element2":["one" ,"two","four","five","six","seven","eight"]}
如何为这种不一致的json字符串编写通用的json解析器? 键名将是标准名称,但其值的数据类型可能会有所不同。
可以采取哪些措施来解决此问题?