jsonスラッシュの場合の解析方法

4863 ワード

例えばこのようなJSON:
{
"result":
    "{
        \"RFM_12_var6\":\"17\",
        \"RFM_12_var50\":\"19\",
        \"RFM_12_var20\":\"5950.0\",
        \"rsk_score\":\"856\",
        \"FLAG_6_var4\":\"1\",
        \"FLAG_6_var1\":\"3\",
        \"dc_flag\":\"debit\",
        \"MON_12_var1\":\"12\",
        \"crb_score\":\"0.012552760953\",
        \"cnp_score\":\"6\",
        \"MON_3_var1\":\"3\",
        \"RFM_12_var44\":\"6281.0\",
        \"RFM_12_var40\":\"0.0\",

    }",
"status":"0",
"value":"    "
}

スラッシュ""は後の引用符を表示させるため、解析式はこのスラッシュを気にする必要はありません.このjson resultの後ろにある「{......}」は、jsonオブジェクトではなく文字列です.以前はこうでした.
{
"result":
    {
    "swift_number":"100032_20160127091434_7510",
    "Flag":
    {"specialList_c":"1"},
    "SpecialList_c":
    {
        "id":{"bank_lost":"0"},
        "cell":{},
        "gid":{}
    },
    "code":"00"
    },
"status":"0",
"value":"    "
}

resulltの後ろに見えるのは{...},「{・・・}」ではなく後述の例はjsonオブジェクトに従って処理することができる.上の文字列をjsonオブジェクトに変換する必要があります.例えばRFM_を得るには12_var 6の値
String o = json.getString( "result");
JSONObject object = JSONObject.parseObject(o)
String s = object.getString("RFM_12_var50" );//       RFM_12_var6