在ASP.NET中解析JSON查询响应字符串

时间:2010-10-19 09:31:44

标签: asp.net json

嘿伙计们,我有以下代码正在发送GET请求并接收JSON响应。

现在我基本上可以去

GetWeatherByLocation(53.3,-6.28);

,方法返回

{“status”:“OK”,“url”:“http://www.link.com/areas/rathfarnham-11”,“name”:“Rathfarnham”}

我现在想知道如何检索

的值
  • URL
  • 名称

从返回的字符串

非常感谢

我使用ASP.NET 2这是我的调用代码

public static string GetWeatherByLocation(double lat, double lng)
{

    string formattedUri = String.Format(CultureInfo.InvariantCulture,

                          FindNearbyWeatherUrl, lat, lng);



    HttpWebRequest webRequest = GetWebRequest(formattedUri);

    HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();

    string jsonResponse = string.Empty;

    using (StreamReader sr = new StreamReader(response.GetResponseStream()))
    {

        jsonResponse = sr.ReadToEnd();

    }

    return jsonResponse;

}

1 个答案:

答案 0 :(得分:0)

我的调用代码是javascript。只需将响应用作javascript对象,因为json格式 javascript对象的表示法。您可以直接访问其属性:

var returningValue = {"status":"OK","url":"http://www.link.com/areas/rathfarnham-11","name":"Rathfarnham"} ;
alert(returningValue.status);
alert(returningValue.url);
alert(returningValue.name);

编辑:如果你想在.net中解析json,你可以看到this question,其中有人解释了如何使用JavaScriptSerializer中的System.Web.Extensions.dll解析对象


编辑2:如果您的.net版本不允许您使用此.dll,我建议您查看json.net之前的版本,尤其是the last 2.0 release。但你应该可以访问dll,因为它出现在.net 2.0中,虽然在AJAX框架中如果我的记忆力很好......

可以手动解析您的对象,但我真的建议使用库。如果你想亲手做,那你就处在一个复杂的世界......