繝励Ο繧ー繝ゥ繝險隱 JSON繝繝シ繧ソ謫堺ス
讎りヲ
JavaScriptObjectNotesion
JavaScript縺ョ繧ェ繝悶ず繧ァ繧ッ繝医r謫堺ス懊〒縺阪k陦ィ險俶ウ輔r逕ィ縺縺溘ョ繝シ繧ソ蠖「蠑
陦ィ險俶ウ
(1) { 繧ュ繝シ : 蛟、 , 繧ュ繝シ : 蛟、 }
(2) 繧ュ繝シ縲∝、縲√→繧ゅ↓縲"縲阪〒蝗イ繧
{ "name": "John Smith", "age": 33 }
驟榊
[ "隕∫エ1", "隕∫エ2", "隕∫エ3" ]
隱ュ縺ソ霎シ縺ソ
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
}
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"}
譖ク縺崎セシ縺ソ
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”}