Chcę przekonwertować ciąg JSON na pakiet Android. Wymaganie było jak przekazanie parametrów do działania bezpośrednio z serwera jako JSON, a nie do pakietu. Jak przekonwertować ciąg JSON do pakietu Android? Jeśli to możliwe, podaj abstrakcyjny kod.Konwersja JSON na pakiet Android
5
A
Odpowiedz
-2
tylko szybkie SSCCEE
A.class
// key for bundle ...
public static final JSON_STRING = "jsonString";
Intent intent = new Intent(A.this, B.class);
Bundle bundle = new Bundle();
bundle.putString(JSON_STRING,json.toString());
intent.putExtras(bundle);
startActivity(intent);
a następnie w B.class ...
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String jsonString = extras.getString(A.JSON_STRING);
12
public static Bundle jsonStringToBundle(String jsonString){
try {
JSONObject jsonObject = toJsonObject(jsonString);
return jsonToBundle(jsonObject);
} catch (JSONException ignored) {
}
return null;
}
public static JSONObject toJsonObject(String jsonString) throws JSONException {
return new JSONObject(jsonString);
}
public static Bundle jsonToBundle(JSONObject jsonObject) throws JSONException {
Bundle bundle = new Bundle();
Iterator iter = jsonObject.keys();
while(iter.hasNext()){
String key = (String)iter.next();
String value = jsonObject.getString(key);
bundle.putString(key,value);
}
return bundle;
}
5
Jest późno, ale może ktoś pomoże znalezieniem ten wątek:
/** Convert a JSON object to a Bundle that can be passed as the extras of
* an Intent. It passes each number as a double, and everything else as a
* String, arrays of those two are also supported. */
public static Bundle fromJson(JSONObject s) {
Bundle bundle = new Bundle();
for (Iterator<String> it = s.keys(); it.hasNext();) {
String key = it.next();
JSONArray arr = s.optJSONArray(key);
Double num = s.optDouble(key);
String str = s.optString(key);
if (arr != null && arr.length() <= 0)
bundle.putStringArray(key, new String[]{});
else if (arr != null && !Double.isNaN(arr.optDouble(0))) {
double[] newarr = new double[arr.length()];
for (int i=0; i<arr.length(); i++)
newarr[i] = arr.optDouble(i);
bundle.putDoubleArray(key, newarr);
}
else if (arr != null && arr.optString(0) != null) {
String[] newarr = new String[arr.length()];
for (int i=0; i<arr.length(); i++)
newarr[i] = arr.optString(i);
bundle.putStringArray(key, newarr);
}
else if (!num.isNaN())
bundle.putDouble(key, num);
else if (str != null)
bundle.putString(key, str);
else
System.err.println("unable to transform json to bundle " + key);
}
return bundle;
}
Powiązane problemy
- 1. Konwersja tekstu na JSON
- 2. Konwersja struktury Go na JSON
- 3. Konwersja JSON na Python dict
- 4. konwersja z ciągu znaków na obiekt json android
- 5. Konwersja Java/Android na kolor
- 6. Android: konwersja kolorów na Int
- 7. Konwersja SQLite do JSON
- 8. Konwersja XML na JSON przy użyciu R
- 9. Konwersja json na ciąg w pytonie
- 10. Konwersja słownika na JSON w pytonie
- 11. Konwersja JSON do XML
- 12. Android javax.annotation.processing Brakujący pakiet
- 13. pakiet Android nie debuggable
- 14. Konwersja .NET DateTime do JSON
- 15. Konwersja TextView na ciąg (rodzaj) Android
- 16. Konwersja z edytowalnych na int w android
- 17. Android: Konwersja obrazu kolorowego na skalę szarości
- 18. Konwersja klatek na milisekundy w systemie Android
- 19. konwersja CSV/XLS do JSON?
- 20. Konwersja JSON ciąg C słowniku #
- 21. Konwersja json do Pandy DataFrame
- 22. Konwersja ColdFusion json do struct
- 23. Konwersja mutableCopy na Swift
- 24. android - pakiet org.apache.http nie istnieje sdk 23
- 25. Android Parse JSON zatrzymany na zadanie get
- 26. Konwersja pliku csv na json za pomocą C#
- 27. Konwersja części Json na HashMap przy użyciu obiektu Jackson ObjectMapper
- 28. Konwersja Swagger JSON do RAML/YAML
- 29. Konwersja ciąg json lub struktury w GoLang
- 30. Typy nakładek GWT, konwersja do JSON
mi chodziło JSON obiekt do Bundle Object. – Raj
To nie odpowiada na pytanie. – Matthew
Nie odpowiada ... – Redwarp