Androidで_JSON.stringify
_を実行する方法はありますか?
私はウェブ全体でJSON.stringify(JSONObject)
を見続けていますが、AndroidでJSONクラスを見つけることができません。
助けがありますか?
JSON.stringify(JSONObject)
はJavascript関数であり、Javaでは使用できません。 Android SDK)に組み込まれているorg.json.*
パッケージを使用している場合、同等はJSONObject
インスタンスでtoString()
を呼び出すだけです。または、より人間に優しいtoString(int)
。
http://developer.Android.com/reference/org/json/JSONObject.html#toString()http://developer.Android.com/reference/org/json/ JSONObject.html#toString(int)
JSONObject obj = ...
String jsonString = obj.toString(4);
これは古いことは知っていますが、同じ問題に遭遇しました。そして、ここでそれについてあまり多くないようです...それで、私は私が学んだことを加えると思いました。
サードパーティのライブラリを使用して、この作業を支援しました:org.codehaus.jackson
これに関するすべてのダウンロードは こちら にあります。
基本的なJSON機能を使用するには、プロジェクトのライブラリに次のjarを追加する必要があります: jackson-mapper-asl および jackson-core-asl
プロジェクトに必要なバージョンを選択します。 (通常、最新の安定ビルドを使用できます)。
プロジェクトのライブラリにインポートしたら、次のimport
行をコードに追加します。
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;`
Javaオブジェクトを定義し、JSONに変換してRESTful Webサービスの一部として返す値を割り当てた
User u = new User();
u.firstName = "Sample";
u.lastName = "User";
u.email = "[email protected]";
ObjectMapper mapper = new ObjectMapper();
try {
// convert user object to json string and return it
return mapper.writeValueAsString(u);
}
// catch various errors
catch (JsonGenerationException e) {
e.printStackTrace();
}
catch (JsonMappingException e) {
e.printStackTrace();
}
結果は次のようになります:{"firstName":"Sample","lastName":"User","email":"[email protected]"}
Java内のJSONオブジェクトを使用した基本アクションは、org.json
パッケージ(Android SDKに含まれる)またはjavax.json
(Java EEの一部)を使用して実行できます。どちらにも、JSONObjectを文字列に変換するtoString()
メソッドがあります。
//assuming you have object `jsonobject` of class `JSONObject`
String output = jsonobject.toString()