のWeb サービス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 - 簡潔にするために多くのコードを省略しました。必要に応じて詳細をお知らせします。