Tôi muốn chuyển đổi chuỗi JSON thành gói android. Yêu cầu này là chuyển các tham số đến một hoạt động trực tiếp từ máy chủ dưới dạng JSON chứ không phải gói. Làm cách nào để chuyển đổi chuỗi JSON thành Gói Android? Vui lòng cung cấp mã trừu tượng nếu có thể.Chuyển đổi JSON thành Android Bundle
5
A
Trả lời
-2
chỉ một cách nhanh chóng 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);
và sau đó trong 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
Đây là muộn, nhưng có lẽ nó sẽ giúp người tìm kiếm chủ đề này:
/** 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;
}
Các vấn đề liên quan
- 1. Chuyển đổi .json thành ipynb
- 2. chuyển đổi rss thành JSON
- 3. Chuyển đổi svg thành json
- 4. Chuyển đổi NSData thành JSON
- 5. Chuyển đổi SQLite thành JSON
- 6. XML thành chuyển đổi JSON trong iOS
- 7. Chuyển đổi tệp .txt thành JSON
- 8. Chuyển đổi JSON NSData thành NSDictionary
- 9. Chuyển đổi Swagger JSON thành RAML/YAML
- 10. Cách chuyển đổi JSON thành Object
- 11. Chuyển đổi json thành mảng C#?
- 12. Chuyển đổi cấu trúc Go thành JSON
- 13. Chuyển đổi động XML thành JSON
- 14. Chuyển đổi mảng JSON thành mảng Bash
- 15. Swift: Chuyển đổi cấu trúc thành JSON?
- 16. Chuyển đổi chuỗi thành đối tượng JSON
- 17. Chuyển đổi Hashmap thành JSON bằng GSON
- 18. Python - chuyển đổi tệp csv thành JSON
- 19. JSON JSON chuyển đổi số nguyên thành chuỗi
- 20. Chuyển đổi json không hợp lệ thành json hợp lệ
- 21. Chuyển đổi chuỗi JSON thành đối tượng JSON
- 22. Biến đổi JSON thành JSON
- 23. Chuyển đổi JSON thành NSData và NSData thành JSON trong Swift
- 24. Chuyển đổi đối tượng JSON thành bộ đệm và đệm thành đối tượng JSON trở lại
- 25. Chuyển văn bản thành JSON
- 26. Chuyển đổi trò chơi Spritekit thành Android?
- 27. Chuyển đổi TextView thành chuỗi (loại) Android
- 28. chuyển đổi DOM thành Chuỗi trong android?
- 29. Chuyển đổi bitmap thành jpeg trong android
- 30. Chuyển đổi bitmap thành byteArray android
Tôi có nghĩa là JSON Object sẽ kèm theo đối tượng. – Raj
Điều này không trả lời được câu hỏi. – Matthew
Không trả lời ... – Redwarp