このJSONをクラスにデシリアライズして、クラスオブジェクトで必要なものを実行してください。
この目的でNewtonSoft.Json dllを使用できます。
public class LiquiditySource
{
public int ID { get; set; }
public object ParentID { get; set; }
public string Name { get; set; }
public object SequenceNo { get; set; }
public string Caption { get; set; }
public string ConnectivityInfo { get; set; }
}
public class LookupData
{
public List<LiquiditySource> LiquiditySources { get; set; }
}
public class SampleClass
{
public string AccessToken { get; set; }
public int LoggedInUserID { get; set; }
public LookupData LookupData { get; set; }
}
string json = "your json string";
SampleClass obj = JsonConvert.DeserializeObject<SampleClass>(json);
次のようなプロパティを取得することができます:
List<LiquiditySource> ls = obj.LookupData.LiquiditySources;
foreach(LiquiditySource liquiditySource in ls)
{
string connectivityInfo = liquiditySource.ConnectivityInfo;
}
あなただけのすべてのConnectivityInfo
の値を取得したい場合は、あなたもLINQ
を使用することができます。あなたがオブジェクトとそのプロパティを取得するためにdeserilize connectivityInfo
文字列をfurthurしたい場合
List<string> lsConnectivityInfo = obj.LookupData.LiquiditySources.Select(c => c.ConnectivityInfo).ToList();
、その後は再びオブジェクトにデシリアライズする必要があります。 注:JSONも変更する必要があります。
修正JSON:
{
"AccessToken": "1929c63a-9c72-4c0d-aea8-345c0b5411e9",
"LoggedInUserID": 1,
"LookupData": {
"LiquiditySources": [{
"ID": 1,
"ParentID": null,
"Name": "testname1",
"SequenceNo": null,
"Caption": "test1",
"ConnectivityInfo": "{\"Port\":11111,\"Username\":\"testuser1\",\"Password\":\"password1\"}"
}, {
"ID": 2,
"ParentID": null,
"Name": "testname2",
"SequenceNo": null,
"Caption": "test2",
"ConnectivityInfo": "{\"Port\":22222,\"Username\":\"testuser2\",\"Password\":\"password2\"}"
}]
}
}
1つの以上のクラスを作成します。
public class ConnectivityInfo
{
public int Port { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
次に、この操作を行います。
foreach (LiquiditySource liquiditySource in ls)
{
string connectivityInfo = liquiditySource.ConnectivityInfo;
ConnectivityInfo connectivityInfoObj = JsonConvert.DeserializeObject<ConnectivityInfo>(connectivityInfo);
}
多分これはあなたを助けることができる - http://stackoverflow.com/を質問/ 6620165/how-can-i-parse-json-with-c – smoksnes
無効なjson、少なくとも正しいjsonを提供してください – mybirthname
thi sが解析されたjsonデータです –