ここで少し新しく質問します。私は、この場合には(次のようになりますJSON文字列を抽出して、それであるFacebookののOAuth2からの変更の復帰Asp.Net辞書内の深さからデータを抽出する<文字列、オブジェクト> -
{「ID」:「555555555555555」、「名」:「モンキー マン」、「LAST_NAME ":" 男 " "FIRST_NAME": "猿"、 "電子メール": "テスト\ u0040someaccount.com"、 "場所":{ "ID": "555555555555555"、 "名":" ジャングル、 ノースキャロライナ "}"、 "性別": "男性"、 "仕事":[{"雇用者:" "id": "555555555555555"、 "名前": "ビッグ ボス私を働かせます}}:"プロジェクト "現在の ":" ものをやって」、 "前": "その他 もの"}、 "場所":{ "ID": "555555555555555"、 "名前": "ジャングル、ノース カロライナ"}、 "位置": {"id": "555555555555555"、 "名前": "IT monkey "}、" start_date ":" 2010-09 "}]、" picture ":" http://profile.ak.fbcdn.net/static-ak/rsrc.php/v1/yo/r/5555555- 555.gif "}
まあ、私はその後、辞書から、次のようなデータを抽出し、オブジェクトに格納し、次のコード
JavaScriptSerializer ser = new JavaScriptSerializer();
Dictionary<string, object> dict = ser.Deserialize<Dictionary<string,object>>(json);
を使用して辞書にすべてを抽出することができていますかなり多くの文字列を集めた、いわゆる連絡先です。
if (d.ContainsKey("email"))
{
c.email = d["email"].ToString();
}
else
c.email = "";
私はこのようにしましたが、情報フィールドがすべて存在するため、私はそれをしませんでした。
、このような私は、次のように変更されたコード(ことを行う方法を見せてくれた人に感謝)を使用したアドレスと同じように値に設定されたオブジェクトが存在する場合。
c.location = (d["location"] as Dictionary<string, object>)["name"].ToString();
ここで私は固執している難しい部分に来てください。
私は、文字列の次の部分から「ビッグ・ボスは私が仕事になり、」雇用者名を抽出しようとしています...
「仕事」:[{「雇用」:{「ID」: "": "プロジェクト":{"現在": "処理中"、 "前": "その他 "、 "場所":{"id ":" 555555555555555" 、 "名前": "ジャングル、ノース カロライナ"}、 "位置":{ "ID": "555555555555555"、 "名前": "ITは サル"}、 "START_DATE":「2010- 09" }]
それは、他のオブジェクトの内側の配列内にデータを格納していると私はそれを抽出するために情報を取得する方法、またはライブoauth2からこのような情報を抽出する方法もわからない...
" "住所":{"個人":{"ストリート":null、 "street_2":null、 "city": "ジャングル"、 "州": "NC"、 "postal_code": "28677" "米国 国"}、 "ビジネス":{ "ストリート": "ツリー・ストリート"、 "street_2":ヌル、 "都市": "ジャングル"、 "状態": "NC"、 "POSTAL_CODE":「28677 "、"地域 ": "米国 "}}
ご覧のとおりこれは3つのレベルの深さになるので、私(d ["location"] in Dictionary)["name"] ToString();ここではかなり役に立たない。これから通りの名前を言うことについてどうやって行きますか?
質問があまりにも漠然としていたり、ランダムではないことを願っています。辞書オブジェクトから適切にデータを抽出するためのアドバイスが必要です。私が思い付く方法は、JSON文字列の編集を含んでおり、私はちょうど自分自身で
おかげjsonlintを通して、あなたのJSONを実行