web-dev-qa-db-ja.com

JSON.stringify in Java-android

Androidで_JSON.stringify_を実行する方法はありますか?

私はウェブ全体でJSON.stringify(JSONObject)を見続けていますが、AndroidでJSONクラスを見つけることができません。

助けがありますか?

14

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);
19
MH.

これは古いことは知っていますが、同じ問題に遭遇しました。そして、ここでそれについてあまり多くないようです...それで、私は私が学んだことを加えると思いました。

サードパーティのライブラリを使用して、この作業を支援しました: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]"}

10
f10orf12

Java内のJSONオブジェクトを使用した基本アクションは、org.jsonパッケージ(Android SDKに含まれる)またはjavax.json(Java EEの一部)を使用して実行できます。どちらにも、JSONObjectを文字列に変換するtoString()メソッドがあります。

//assuming you have object `jsonobject` of class `JSONObject`
String output = jsonobject.toString()
1
nikis