0

我正在使用下面的代码来解析从服务器返回的 JSON 响应。这有点慢。我想知道我是否应该使用 JsonTextWriter 作为替代方案?

我将如何使用 JsonTextWriter 实现这一点?

string responseString = string.Empty;
Uri uri = new Uri ("http://localhost/complex-json.json");
HttpWebRequest request = new HttpWebRequest (uri);
request.Method = "GET";

HttpWebResponse response = request.GetResponse () as HttpWebResponse;
using (StreamReader sr = new StreamReader(response.GetResponseStream())) {
responseString = sr.ReadToEnd ();
}
response.Close ();

JObject obj = JObject.Parse (responseString);
JArray a = (JArray)obj["questions"];
IList<question> questions = a.ToObject<IList<question>>();
for (int i = 0; i < a.Count; i++) {
 Console.WriteLine(questions[0].answer_count);
}
4

1 回答 1

0

System.Web.Extensions.dll 有一个JavaScriptSerializer. 我使用以下 2 种扩展方法进行序列化和反序列化:

public static T JsonDeserialize<T>(this string json)
        {
            return new JavaScriptSerializer().Deserialize<T>(json);
        }

public static string ToJson<T>(this T item)
        {
            return new JavaScriptSerializer().Serialize(item);
        }

希望这可以帮助。

于 2013-03-03T06:16:01.420 回答