.NET Framework

JSONのデータの例

{
    "Age":10,
    "Name":"John",
    "Address":["Tokyo","Fukuoka"]
}

Namespace

using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;

データ構造と一致するデータクラスを定義

[DataContract]
public class UserInfo
{
    [DataMember]
    public int Age { get; set; }

    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public List<string> Address { get; set; }
}

JSON 形式データをUserInfoオブジェクトに変換する

// JSONデータ文字列
string jsonString = @"{""Address"":[""Tokyo"",""Fukuoka""],""Age"":32,""Name"":""Doi""}";

// DataContractJsonSerializerをインスタンス化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UserInfo));

// JSONデータを文字列からバイト配列に変換
byte[] jsonBytes = Encoding.Unicode.GetBytes(jsonString);

// バイト配列を読み込むMemoryStreamクラスを定義
MemoryStream sr = new MemoryStream(jsonBytes);

// ReadObjectメソッドでJSONデータを.NETオブジェクトに変換
UserInfo obj = (UserInfo)serializer.ReadObject(sr);

UserInfoオブジェクトをJSON 形式データに変換する

//JSONデータを書き込むためのMemoryStreamを作成
MemoryStream stream = new MemoryStream();
// WriteObjectメソッドで.NETオブジェクトをJSONデータに変換
serializer.WriteObject(stream, obj);

// 書き込んだMemoryStreamの内容を出力
stream.Position = 0;
StreamReader reader = new StreamReader(stream);
System.Console.Write(reader.ReadToEnd());


超多機能のアクセス解析が永久無料!

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:34:23 (1627d)

G|Cg|C@Amazon Yahoo yV

z[y[W yVoC[UNLIMITȂ1~] COiq COsیI