-2
string jsondata = @"{""meta"":{""code"":200}}";
dynamic json = JsonConvert.DeserializeObject(jsondata);

上記のjsonデータがあり、そのクラスを作成しました。私もそれを逆シリアル化しました-このjson変数をどのように反復できますか

public class Meta
{
    public int code { get; set; }
}

public class RootObject
{
    public Meta meta { get; set; }
}
4

1 に答える 1

1

コードを操作するには、型付きの変換を使用する必要があります

string jsondata = @"{""meta"":{""code"":200}}"; 
Meta json = JsonConvert.DeserializeObject<Meta>(jsondata);

次に、メタ obj 内のすべてのメンバーにアクセスできます。


通常の .net json ランタイムを使用すると、文字列を逆シリアル化できます

string jsondata = @"{""meta"":{""code"":200}}"
Meta meta = JsonHelper.JsonDeserialize<Meta>(jsondata);

詳細については、http://www.codeproject.com/Articles/272335/JSON-Serialization-and-Deserialization-in-ASP-NETを参照してください。

あなたはこのコードを持っている必要があります

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Runtime.Serialization.Json;
 using System.IO;
 using System.Text;  
 /// <summary>
 /// JSON Serialization and Deserialization Assistant Class
 /// </summary>
 public class JsonHelper
 {
     /// <summary>
     /// JSON Serialization
     /// </summary>
     public static string JsonSerializer<T> (T t)
     {
         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
         MemoryStream ms = new MemoryStream();
         ser.WriteObject(ms, t);
         string jsonString = Encoding.UTF8.GetString(ms.ToArray());
         ms.Close();
         return jsonString;
     }  
     /// <summary>
     /// JSON Deserialization
     /// </summary>
     public static T JsonDeserialize<T> (string jsonString)
     {
         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
         MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
         T obj = (T)ser.ReadObject(ms);
         return obj;
     }
 }
于 2013-02-05T11:14:14.777 に答える