解析Json对象删除奇怪的字符

时间:2015-11-06 07:44:13

标签: java android json

我是Json对象的新手。有没有人知道如何在java中解析这样的json对象:

"custom_fields": {
    "tc_cart_contents": [
        "a:1:{i:2957;i:2;}"
    ],
    "tc_cart_info": [
        "a:8:{s:5:\"total\";d:0;s:11:\"coupon_code\";s:0:\"\";s:8:\"currency\";s:3:\"USD\";s:10:\"buyer_data\";a:3:{s:20:\"first_name_post_meta\";s:5:\"safaf\";s:19:\"last_name_post_meta\";s:4:\"dsaf\";s:15:\"email_post_meta\";s:15:\"sadasd@sdsa.com\";}s:10:\"owner_data\";a:3:{s:24:\"ticket_type_id_post_meta\";a:1:{i:2957;a:2:{i:0;s:4:\"2957\";i:1;s:4:\"2957\";}}s:20:\"first_name_post_meta\";a:1:{i:2957;a:2:{i:0;s:6:\"sadasd\";i:1;s:5:\"sadas\";}}s:19:\"last_name_post_meta\";a:1:{i:2957;a:2:{i:0;s:5:\"adasd\";i:1;s:7:\"sadasda\";}}}s:7:\"gateway\";s:11:\"free_orders\";s:18:\"gateway_admin_name\";s:11:\"Free Orders\";s:13:\"gateway_class\";s:22:\"TC_Gateway_Free_Orders\";}"
    ],
    "tc_payment_info": [
        "a:8:{s:19:\"gateway_public_name\";s:11:\"Free Orders\";s:20:\"gateway_private_name\";s:11:\"Free Orders\";s:6:\"method\";s:11:\"Free Orders\";s:5:\"total\";d:0;s:8:\"subtotal\";i:0;s:10:\"fees_total\";i:0;s:9:\"tax_total\";d:0;s:8:\"currency\";s:3:\"USD\";}"
    ],
    "tc_order_date": [
        "1446729619"
    ],
    "tc_paid_date": [
        "",
        ""
    ],
    "tc_parent_event": [
        "a:1:{i:0;s:4:\"2956\";}"
    ]
}

在Java中,我想解析上面的jsonobject并存储原始值(对于我的Android应用程序,没有像“i:0; s:4:\”这样的字符。

请帮助我!

1 个答案:

答案 0 :(得分:0)

你想对这个对象做什么?您可以使用

轻松解析它
try {
    JSONObject jsonObject = new JSONObject(yourJsonString);
} catch(JSONException e) {
    //Handle exception
}

然后使用

访问元素
JSONArray tcCardContentArray = jsonObject.getJSONArray("tc_cart_contents");
String tcCardContentValue = tcCardContentArray.getString(0);
// tcCardContentValue's value will be a:1:{i:2957;i:2;}