我正在编写代码来测试json
从. 返回的响应格式如下:asmx
C#
{"d":"[{\"Id\":\"row1\",\"TheDate\":\"01/01/2013 00:00:00\",\"Description\":\"Test1\",\"Field\":\"N\"},
{\"Id\":\"row2\",\"TheDate\":\"01/01/2013 00:00:00\",\"Description\":\"Test2\",\"Field\":\"N\"}]
最终,我想将数据转换为对象列表。我被限制使用JSON.Net
.
目前,我正在使用以下方法json
将响应中的返回值转换为:JArray
private static JArray ConvertToJsonArray(StreamReader reader)
{
var json = reader.ReadToEnd();
string result = json.Replace("{\"d\":\"", string.Empty);
result = result.Replace(@"\", string.Empty);
result = result.Replace("]\"}", "]");
return JArray.Parse(result);
}
如您所见,我正在对字符串进行大量手动格式化,以便最终可以对其进行解析。
然后我循环并JObject
在JArray
将其添加到列表之前将每个对象转换为所需的对象类型。
这确实给了我想要的结果,但我觉得必须有一个更优雅的解决方案。
有人可以帮忙吗?
PS - 为了简洁起见,我留下了很多代码。如果需要,我可以提供更多细节。