繝励Ο繧ー繝ゥ繝險隱 JSON繝繝シ繧ソ謫堺ス

讎りヲ

JavaScriptObjectNotesion
JavaScript縺ョ繧ェ繝悶ず繧ァ繧ッ繝医r謫堺ス懊〒縺阪k陦ィ險俶ウ輔r逕ィ縺縺溘ョ繝シ繧ソ蠖「蠑

陦ィ險俶ウ

(1) { 繧ュ繝シ : 蛟、 , 繧ュ繝シ : 蛟、 }
(2) 繧ュ繝シ縲∝、縲√→繧ゅ↓縲"縲阪〒蝗イ繧
{ "name": "John Smith", "age": 33 }
驟榊
[ "隕∫エ1", "隕∫エ2", "隕∫エ3" ]

隱ュ縺ソ霎シ縺ソ

縲後励Ο繧ク繧ァ繧ッ繝医阪Γ繝九Η繝シ >縲悟盾辣ァ縺ョ霑ス蜉縲阪°繧我サ・荳九r蜿らァ
System.Runtime.Serialization

[DataContract]
public class FriendInfo
{
縲縲[DataMember]
縲縲public string Name { get; set; }

縲縲[DataMember]
縲縲public string Address { get; set; }

縲縲[DataMember]
縲縲public int Age { get; set; }
}

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

private void Form1_Load(object sender, EventArgs e)
{
縲縲//シ1シ芽ェュ縺ソ霎シ繧JSON繝繝シ繧ソ
縲縲var jsonString = @"{
縲縲縲縲縲縲""Address"" : ""Nishinomiya"",
縲縲縲縲縲縲""Age"" : 35,
縲縲縲縲縲縲""Name"" : ""Yone""
縲縲縲縲}";

縲縲//シ2シ吋ataContractJsonSerializer繧偵う繝ウ繧ケ繧ソ繝ウ繧ケ蛹
縲縲var serializer = new DataContractJsonSerializer(type: typeof(FriendInfo));

縲縲//シ3シ雨SON繝繝シ繧ソ繧呈枚蟄怜励°繧峨ヰ繧、繝磯榊励↓螟画鋤
縲縲var jsonBytes = Encoding.Unicode.GetBytes(jsonString);

縲縲//シ4シ峨ヰ繧、繝磯榊励r隱ュ縺ソ霎シ繧MemoryStream繧ッ繝ゥ繧ケ繧貞ョ夂セゥ
縲縲var sr = new MemoryStream(jsonBytes);

縲縲//シ5シ嘘eadObject繝。繧ス繝繝峨〒JSON繝繝シ繧ソ繧.NET繧ェ繝悶ず繧ァ繧ッ繝医↓螟画鋤
縲縲var obj = (FriendInfo)serializer.ReadObject(sr);
縲縲竍
縲縲obj.Name : Yone
縲縲obj.Age : 35
縲縲obj.Address : Nishinomiya

}

JSON竊樽AP
String s = "{\"return\":\"OK\",\"errorcode\":\"E90000\"}";

Map<String, String> map = new LinkedHashMap<String, String>();
ObjectMapper mapper = new ObjectMapper();

map = mapper.readValue(s, new TypeReference<LinkedHashMap<String, String>>(){});

for (Map.Entry<String, String> entity : map.entrySet()){
縲String key = entity.getKey();
key シ return縲‘rrorcode
縲String value = entity.getValue();
value シ OK縲・90000
}
System.out.println(map);
竊畜return=OK, errorcode=E90000}

MAP竊谷SON
s = mapper.writeValueAsString(map);
System.out.println(s);
竊畜"return":"OK","errorcode":"E90000"}

譖ク縺崎セシ縺ソ

//竊 JSON繝繝シ繧ソ繧貞、画峩
obj.Address = "kobe";

var ms = new MemoryStream();
serializer.WriteObject(stream: ms, graph: obj);

jsonString = Encoding.UTF8.GetString(ms.ToArray());
jsonString : {“Address”:”kobe“,”Age”:32,”Name”:”Doi”}

Follow me!