Разобрать строку ответа на запрос JSON в ASP.NET - PullRequest
0 голосов
/ 19 октября 2010

Привет, ребята, у меня работает следующий код, который отправляет запрос 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 голосов
/ 19 октября 2010

Ваш телефонный код в 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);

edit: если вы хотите проанализировать json в .net, вы можете увидеть этот вопрос , где кто-то объясняет, как анализировать объект, используя JavaScriptSerializer из System.Web.Extensions.dll


edit 2: если ваша версия .net не позволяет вам играть с этим .dll, я бы порекомендовал посмотреть json.net предыдущие выпуски, в частности последний выпуск 2.0 . Но у вас должен быть доступ к dll, поскольку он появился в .net 2.0, хотя и в среде AJAX, если у меня хорошая память ...

Возможно проанализировать ваш объект вручную, но я бы действительно рекомендовал использовать библиотеку. Если вы хотите сделать это вручную, вы попадаете в сложный мир ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...