从 Web 请求中获取 c# 中的 JSON 对象

本文关键字:中的 JSON 对象 获取 Web 请求 | 更新日期: 2024-10-25 09:10:28

我需要从外部域获取json数据。我使用网络请求从网站获取响应。代码如下:

var search = umbraco.library.Request("search");
string Url = "http://ff.ss.dk/Suggest.ff?username=us&password=pass&channel=dk&format=JSON&query="+search;
WebRequest webRequest = WebRequest.Create(Url);
WebResponse response = webRequest.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);

这样我得到这样的输出

[{"hitCount":0,"imageURL":","query":"Atrix h''u00E5ndcreme Dobbeltvirkende/100 Ml","type":"productName"},{"hitCount":0,"imageURL":"

","query":"V''u00E6gur magnetisk attraction","type":"productName"},{"hitCount":0,"imageURL":","query":"Bic kuglepen Atlantis , bl''u00E5","type":"productName"},{"hitCount":0,"imageURL":","query":"Laminering AT1256 31cm x30m A3","type":"productName"}]

我想以 JSON 对象格式获取此输出数据,我可以在我的 java 脚本函数中使用它。我认为输出数据的格式不正确,因为我使用StreamReader功能来获取 data.is 有什么想法可以解决这个问题吗?

从 Web 请求中获取 c# 中的 JSON 对象

可以使用jQuery.parseJSON将此数据转换为json格式。

 var obj = JSON.parse(data);

然后我们可以访问这样的数据

 obj[0].id

谢谢大家。

您似乎缺少数组名称说明符,例如,这有效:

{arrayName:[{"hitCount":0,"imageURL":"","query":"Atrix h'u00E5ndcreme Dobbeltvirkende /100 Ml","type":"productName"},{"hitCount":0,"imageURL":"","query":"V'u00E6gur magnetisk attraction","type":"productName"},{"hitCount":0,"imageURL":"","query":"Bic kuglepen Atlantis , bl'u00E5","type":"productName"},{"hitCount":0,"imageURL":"","query":"Laminering AT1256 31cm x30m A3","type":"productName"}]}