解析JSON c#错误

本文关键字:错误 JSON 解析 | 更新日期: 2023-09-27 17:50:57

我试图获得JSON数据,但得到错误。

解析值时遇到意外字符:。路径",行0,位置0

我正在使用。Net 4.5和JSON。微软网络框架这里是我的代码

WebClient net = new WebClient();
string str = await net.DownloadStringTaskAsync(url);
JObject o = JObject.Parse(str); // ERROR Here

和我的代码JSON数据视图上的Webservicehttp://sv1.volcanosoft.com/test/index.php?area=ho-chi-minh这个网站的格式是index.php的UTF-8和php文件头

header('Content-Type:application/json; charset=utf-8');
echo '{"item":';
echo json_encode($data);
echo '}';

解析JSON c#错误

下载的字符串以两个字节顺序标记(U+FEFF)开始,这是JSON。. NET解析器(正确)不理解

下载的字符串包含两个bom的原因是因为你的服务发送的数据包含3个bom。第一个被UTF-8编码自动删除,但其他两个保留。

BOM对于不能存储所使用的字符集的文件很有用。但是您发送的是报头中使用的字符集,因此根本不需要发送BOM。发送其中三个肯定是不正确的。

我相信这是由PHP文件中的bom引起的,所以您应该将它们从那里删除。