ドットネットフレームワークは4.0を使用しています。
どのアセンブリがどのクラスをサポートしているのかぜんぜんわかりません。
簡単にわかる方法があればいいんでしょうけど。
System.Runtime.Serialization.Jsonを使えと言うことらしいんですが、
型または名前空間名 'Json' は名前空間 'System.Runtime.Serialization' に存在しません。アセンブリ参照が不足しています。
型または名前空間名 'DataContract' が見つかりませんでした。
下の3つを参照に追加しないとだめみたいです。
System.Runtime.Serialization
System.ServiceModel
System.ServiceModel.Web
JSONの定義を作成する。
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text;namespace WindowsFormsApplication1
{
[DataContract]
class ResPonseJData
{
//JSONの型にあわせてクラスを作成
//{"result":"0","ip":"192.168.1.1","channeAddressId":"1","port":"7219"}
[DataMember]
public string channeAddressId;
[DataMember]
public string ip;
[DataMember]
public string result;
[DataMember]
public string port;
}}
使う側(sRetはHTTPで受け取ったJSONが入っている)
DataContractJsonSerializer dcjs = new DataContractJsonSerializer(typeof(ResPonseJData));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(sRet)))
{
ResPonseJData Jdata = (ResPonseJData)dcjs.ReadObject(ms);
if (Jdata.result.Equals("0"))
{
Console.WriteLine(Jdata.channeAddressId);
Console.WriteLine(Jdata.result);
Console.WriteLine(Jdata.ip);
Console.WriteLine(Jdata.port);
}
}