繁体   English   中英

将 JsonString 转换为 Json 对象

[英]Convert JsonString to Json Object

有两个活动,活动 A 和活动 B

我在活动 A 中进行了 API 调用,并将 JsonObject 转换为字符串以供我进一步使用现在我需要将该 JsonObject 发送到活动 B,我使用Intent.putExtra进行发送,我在发送时将其转换为字符串,现在我需要再次将其转换为 JsonObject 以进行发布请求,但我无法这样做。

或者您可以告诉我一种简单的方法,将 JsonObject 原样发送到 Activity B,而无需将其转换为字符串。

这是 JsonObject 的示例

{
    "data": {
        "care_of": "S/O: Kaleen Bhaiya",
        "full_name": "Munna Bhaiya",
        "aadhaar_number": "123456789011",
        "zip": "110088",
        "gender": "M",
        "share_code": "6921",
        "face_score": -1,
        "raw_xml": "https://link-to-docs",
        "has_image": true,
        "address": {
            "loc": "Lehna Singh Market",
            "street": "",
            "house": "Flat No - 123",
            "po": "Mirzapur",
            "country": "India",
            "subdist": "Mirzapur",
            "vtc": "Mirzapur",
            "dist": "North Mirzapur",
            "state": "Uttar Pradesh"
        },
        "client_id": "aadhaar_v2_JlgixCkkkqinfMqtnThX",
        "zip_data": "https://link-to-zip",
        "profile_image": "base_64_image",
        "face_status": false,
        "dob": "1996-01-01"
    },
    "success": true,
    "message_code": "success",
    "status_code": 200,
    "message": null
}

非常感谢您的帮助

JSON.parse(yourJSONString);

您可以将 JSON.parse() 方法用于字符串到对象 co

我建议使用gson库(由 Google 提供)进行序列化/反序列化。 你可以在这里找到一个很好的指南。

假设您的 POJO 称为Data ,它将是这样的:

序列化 - 将对象转换为 json 字符串

Data data = <your_object>;
Gson gson = new Gson();
String jsonString = gson.toJson(data);

反序列化 - 将 json 字符串转换为对象

String dataJsonString = "<your_object_json_string>";
Gson gson = new Gson();
Data data = gson.fromJson(dataJsonString, Data.class);

在我们的例子中,我们不需要将 json 对象转换为 jsonString 或从 jsonString 转换。 您可以简单地将 jsonObject 从活动 A 传递给活动 B

intent.putExtra("jsonObject", YourJSonObject);

并在活动 B 上收到它

YourJSonObject  yourjsonobject = (YourJSonObject)getIntent().getSerializableExtra("jsonObject");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM