JSON形式のfortune cookieテキストを返すasp.netにwebserviceを実装しました。サービスは動作しており、私はWebサービスの出力を消費することができます。しかし、出力が期待されていないよう...asp.net webserviceのJSON出力を読む
Websevice JSON出力は:お察しの通り
{"d": "{\"CookieText\":\"All you have to know is - what the hell is d ???\"}"}
、 - 私は「CookieText」の値を探している - しかし、私は方法を知っているドントそれを得るために。コード(結果= Websevice JSON出力)と
{"CookieText":"All you have to know is - what the hell is d ???."}
::次の出力を得ることができる - 私
jsonObject = new JSONObject(result);
result_intern = jsonObject.getString("d");
しかし、実際にどのような - 私を探していることはCookieTextだけの値であり、 。私は成功しなかった次の行を試しました(result_internは空です)。
jsonObject = new JSONObject(result);
result_intern = jsonObject.getJSONObject("d").getString("CookieText");
私には2つの質問があります。
1)なぜ、変数にパックされたWebサービスの出力(何ですか?)d?私を教えてください、dの目的は何ですか?それは42のようなものですか?私は1000年代の嫌いなメールを開発者に送る前にそれを理解したいと思っています。
public class CFortuneCookieText
{
private string m_CookieText = "";
public string CookieText
{
get { return m_CookieText; }
set { m_CookieText = value; }
}
}
Webサービスメソッド:
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string GetFortuneCookieSayingsJSON()
{
CFortuneCookieText tmpObj = new CFortuneCookieText();
tmpObj.CookieText = "All you have to know is - what the hell is d ???";
return JsonConvert.SerializeObject(tmpObj, Formatting.None);
}
2)私はCookieTextの値だけを取得するにはどうすればよい私はDにそれを置くために誰にも言わなかった...直列化されたクラスにはdがありませんJSONObject.getStringを使用していますか?事前
+1のdの魔法の拡張へのリンク!2番目の答えによると:私はJSONObjectクラスを使用してアンドロイドアプリでwebserviceの出力を消費し、CookieTextの値を取得する方法がわかりません。 – GinSonic
@GinSonicあなたは 'asp.net'というタグを付けました。その中でそれをする。更新された回答を確認します。 – Imad
申し訳ありませんが、私はアンドロイドを言及しませんでした。私はそれがJSONObjectクラスでJSONデータを取得するのが好きだと書いて以来、それが有益な情報だとは思っていませんでした... Anayway、私はOPにAndroidを追加しました。 getString( "CookieText")の直接呼び出しは機能しません。 org.json.JSONExceptionが発生します。CookieText例外の値はありません。 – GinSonic