Vb.net 用汉字解析JSON字符串

Vb.net 用汉字解析JSON字符串,vb.net,json.net,Vb.net,Json.net,这些问题与我发现的问题相似,但没有一个能解决我的问题。我收到了一个包含以下字符串的文本文件 callback12({ "searchResult":{ "data":[ { "CURRENCY":"人民币", "DATE":"2016-03-25", "NAME":"仲尧文" }, { "CURRENCY_TYPE":"人民币", "DATE":"2016-03-

这些问题与我发现的问题相似,但没有一个能解决我的问题。我收到了一个包含以下字符串的文本文件

callback12({  
"searchResult":{  
  "data":[  
     {  
        "CURRENCY":"人民币",
        "DATE":"2016-03-25",
        "NAME":"仲尧文"
     },
     {  
        "CURRENCY_TYPE":"人民币",
        "DATE":"2016-03-24",
        "NAME":"王新华"
     }]
}
  })
我使用以下代码行解析JSON字符串

Dim objTempResults As JObject = JObject.Parse(strSource)
Dim objResults = objTempResults("callback12")("searchResult")("data").Children()
但它给了我一个关于JObject的例外解析它

Unexpected character encountered while parsing value: \. Path '', line 0, position 0.

我发现的其他问题都有编码和解码字符串的答案,但我无法对整个字符串进行编码或解码,因为只有两个字段需要编码。如何解决此异常?

JSON中的中文字符不是问题所在。您将得到一个解析错误,因为JSON被包装在javascript函数调用中,这使得JSON无效。(有关什么是有效的JSON语法的详细信息,请参阅。)如果删除JSON周围的
callback12()
,它将使用JSON.Net正确解析


小提琴:

您的文本可能会被
String2Unicode
所破坏。VB.NET直接使用Unicode,这是没有必要的。您给出的示例不是有效的JSON。特别是,
回调12
之后的
在JSON中没有有效的含义。@GSerg我删除了String2Unicode函数。这只是我尝试的不同方法之一。@user5090812 JSON是有效的。我只是删除了两个额外的字段,但忘记删除“Name”之后的额外逗号字段。我现在已经删除了逗号,JSON现在是有效的。
callback12()
中的东西可能是有效的JSON。但是整个东西都不是。感谢您将此作为答案发布。我希望早些时候指出这一点的“GSerg”能够获得积分,但也感谢您。干杯