鍍金池/ 問(wèn)答/Java  PHP  C#  HTML/ 這種類型的json怎么解析

這種類型的json怎么解析

reqparam={
    "pub": {
        "platno": "jcrzzl",
        "cmpseq": "20171128000358000001",
        "zoneno": "1302",
        "phybrno": "12032150",
        "orderno": "-9223372036854775808",
        "assurerno": "528",
        "cmpdate": "20171128",
        "cmptime": "000358"
    },
    "req": {
        "custname": "小明",
        "idno": "330681199003000004",
        "relation": "本人",
        "result": "099",
        "loanCrdt": "-",
        "cardCrdt": "-",
        "leftNum": "-",
        "leftAmount": "-",
        "note": "圖片下載失敗,請(qǐng)檢查后再提交!"
    }
}

前面帶個(gè)reqparam=

回答
編輯回答
凝雅

= 進(jìn)行分割 取后面的串進(jìn)行解析。

2018年7月11日 11:51
編輯回答
傲嬌范

必須要把reqparam= 清楚才能解析的

2018年4月28日 03:26
編輯回答
絯孑氣

我個(gè)人用法是,先用 strpos(); 函數(shù)獲取到第一個(gè) '{',通過(guò) substr(); 函數(shù)去除前面部分。再進(jìn)行解析。由于前陣子獲取出現(xiàn)過(guò)這種情況,還有就是出現(xiàn)損壞的 json 字符串返回,然后在裁剪前面字符后為預(yù)防萬(wàn)一還做了個(gè)檢測(cè)是否 json 是否能被 json_descde(); 函數(shù)轉(zhuǎn)換,如果不行就進(jìn)行遞歸修理。

2018年4月9日 03:28
編輯回答
孤星

我覺(jué)得先str_replace去掉前面的參數(shù)和等號(hào),然后json_decode應(yīng)該是簡(jiǎn)潔的吧

2018年7月19日 03:55
編輯回答
短嘆

格式錯(cuò)誤,無(wú)法識(shí)別。校驗(yàn)網(wǎng)址:https://www.bejson.com/

2017年12月7日 06:04
編輯回答
瘋浪

目前它還不是json啊 去掉"reqparam="才是json格式的

2017年11月20日 13:05
編輯回答
陌離殤

直接用eval

2017年1月25日 15:49
編輯回答
舊時(shí)光

說(shuō)明它不合格。
只能把 reqparam= 去掉啦,看著就是固定格式,位于開(kāi)頭,直接去掉再讀,完美。

2017年6月3日 00:04
編輯回答
紓惘
<?php

$str = <<<EOF
reqparam={
    "pub": {
        "platno": "jcrzzl",
        "cmpseq": "20171128000358000001",
        "zoneno": "1302",
        "phybrno": "12032150",
        "orderno": "-9223372036854775808",
        "assurerno": "528",
        "cmpdate": "20171128",
        "cmptime": "000358"
    },
    "req": {
        "custname": "小明",
        "idno": "330681199003000004",
        "relation": "本人",
        "result": "099",
        "loanCrdt": "-",
        "cardCrdt": "-",
        "leftNum": "-",
        "leftAmount": "-",
        "note": "圖片下載失敗,請(qǐng)檢查后再提交!"
    }
}
EOF;

$replaced_str = str_replace('reqparam=', '', $str);
$json = json_decode($replaced_str, true);
print_r($json);

clipboard.png

2017年1月14日 18:26
編輯回答
嫑吢丕
let reqparam = {
  "pub": {
      "platno": "jcrzzl",
      "cmpseq": "20171128000358000001",
      "zoneno": "1302",
      "phybrno": "12032150",
      "orderno": "-9223372036854775808",
      "assurerno": "528",
      "cmpdate": "20171128",
      "cmptime": "000358"
  },
  "req": {
        "custname": "小明",
        "idno": "330681199003000004",
        "relation": "本人",
        "result": "099",
        "loanCrdt": "-",
        "cardCrdt": "-",
        "leftNum": "-",
        "leftAmount": "-",
        "note": "圖片下載失敗,請(qǐng)檢查后再提交!"
    }
};
console.log(reqparam.pub.assurerno); //直接取值,結(jié)果528
let arr = Object.keys(reqparam).map(function(re){
  return reqparam[re];
});
console.log(arr);
2017年8月10日 05:22