2

私はjsonに非常に慣れていないので、助けてください! 次のjsonオブジェクトがあるとします

{
    "Table": "",
    "Id": "",
    "Column": [
        {
            "ColumnText": "",
            "ColumnSqlName": ""
        },
        {
            "ColumnText": "",
            "ColumnSqlName": ""
        }
    ]
}

上記のjsonを逆シリアル化するためにasp.netを使用したいのですが、これを行う最良の方法は何ですか? ありがとう!!!

4

4 に答える 4

2

JSON.NETライブラリを使用して、オブジェクトを json にシリアル化および逆シリアル化することをお勧めします。

例: json オブジェクトを C# オブジェクトに逆シリアル化します...

string json = @"{
  ""Name"": ""Apple"",
  ""Expiry"": new Date(1230422400000),
  ""Price"": 3.99,
  ""Sizes"": [
    ""Small"",
    ""Medium"",
    ""Large""
  ]
}";

JObject o = JObject.Parse(json);

string name = (string)o["Name"];
// Apple

JArray sizes = (JArray)o["Sizes"];

string smallest = (string)sizes[0];
// Small

ここに画像の説明を入力

于 2012-06-06T12:24:54.800 に答える
1
    Public Class JsonObj
    Private _Table As String
    Public Property Table() As String
        Get
            Return _Table
        End Get
        Set(ByVal value As String)
            _Table = value
        End Set
    End Property
    Private _Id As String
    Public Property Id() As String
        Get
            Return _Id
        End Get
        Set(ByVal value As String)
            _Id = value
        End Set
    End Property

    Private _Column As JsonSetting()
    Public Property Column() As JsonSetting()
        Get
            Return _Column
        End Get
        Set(ByVal value As JsonSetting())
            _Column = value
        End Set
    End Property
End Class

Public Class JsonSetting
    Private _ColumnText As String
    Public Property ColumnText() As String
        Get
            Return _ColumnText
        End Get
        Set(ByVal value As String)
            _ColumnText = value
        End Set
    End Property

    Private _ColumnSqlName As String
    Public Property ColumnSqlName() As String
        Get
            Return _ColumnSqlName
        End Get
        Set(ByVal value As String)
            _ColumnSqlName = value
        End Set
    End Property
End Class

使用法:

Dim o As New JavaScriptSerializer
Dim instance As JsonObj = o.Deserialize(Of JsonObj)(json_str)

ご返信いただきありがとうございますが、上記のコードはうまく機能する可能性があります。

于 2012-06-07T03:53:06.093 に答える
1

組み込みクラスJavaScriptSerializerthis を使用できます。MyClassjson 構造に一致するクラスです

var serializer = new JavaScriptSerializer();
MyClass instance = serializer.Deserialize<MyClass>(myJson);
于 2012-06-06T12:38:03.033 に答える
1

MSDNには、従うべき簡単な例があります。サービスの場合は、WCF を使用して単純に使用する方が簡単かもしれません。

于 2012-06-06T12:25:11.320 に答える