簡體   English   中英

如何在Java中將Response解析為JSON

[英]how to parse the Response as JSON in java

我使用以下代碼發布:

try {
            HttpClient client = new HttpClient();
            PostMethod method = new PostMethod(VERIFY_PAYMENT_ACTIONURL);

            // key is the parameter
            // MERCHANT_KEY is the value
            method.addParameter("form", "2");
            method.addParameter("key", MERCHANT_KEY.trim());
            method.addParameter("command", VERIFY_PAYMENT_COMMAND.trim());
            method.addParameter("hash", hash);
            method.addParameter("var1", transactionID.trim());
            method.addParameter("salt", ALGORIHTM_SHA512_SALT_KEY.trim());

            int statusCode = client.executeMethod(method);

            if (statusCode != -1) {
                in = method.getResponseBodyAsStream();
            }


            String text = method.getResponseBodyAsString();


            System.out.println("text : "+text);

            method.releaseConnection();

        } catch (Exception e) {
            e.printStackTrace();
        } 

我得到的響應文本如下:

a:3:{s:6:"status";i:1;s:3:"msg";s:44:"1 out of 1 Transactions Fetched Successfully";s:19:"transaction_details";a:1:{i:2298597;a:15:{s:8:"mihpayid";s:18:"403993715508098532";s:10:"request_id";N;s:12:"bank_ref_num";N;s:3:"amt";s:5:"53.77";s:4:"disc";s:4:"0.00";s:4:"mode";s:2:"CC";s:7:"PG_TYPE";s:4:"AXIS";s:7:"card_no";s:16:"512345XXXXXX2346";s:12:"name_on_card";s:3:"emu";s:4:"udf2";s:1:"0";s:7:"addedon";s:19:"2013-06-03 17:34:42";s:6:"status";s:7:"failure";s:14:"unmappedstatus";s:6:"failed";s:12:"Merchant_UTR";N;s:10:"Settled_At";N;}}}

現在我想提取上面的輸出,並將其放入“ transactionid”之類的地圖中,以及其他詳細信息,例如以下格式

array('status' => '1',
'msg' => 'Transaction Fetched Successfully',
'transaction_details' =>
array(
'mihpayid' => Transaction ID,
'request_id' => Request ID,
'bank_ref_num' => Bank Reference Number,
'amt' => Amount
'disc' => Discount
'mode' => Transaction Mode (NB for Netbanking, CC for credit card, DC for Debit card, "-" for
'status' => Transaction Status

unknown)
)
);

我真的沒有找到提取上述輸出的任何常用方法。 會有人幫忙嗎?

還是我可以將以上內容轉換為JSON並將其放入類似上述的地圖中?

謝謝

我不認識它,但您確定它不是眾所周知的格式嗎?

要將其轉換為JSON,您需要1)刪除字符的每個實例,后跟一個冒號(和冒號)2)將所有其他分號替換為逗號3)將所有其他分號替換為冒號在考慮字符串可能包含任何這些內容的同時,您需要做所有這些事情。

來自注釋:字符串采用PHP序列化形式。 該庫對其進行解析: https : //code.google.com/p/serialized-php-parser/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM