想請問一下我透過postman去傳送一個JSON格式時,
他要求的格式好像比較嚴格,
因我自動產出的格式大概是這樣:
{ name: 'file',
time: 'Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)',
}
但postman所需要的格式是:
{ "name": "file",
"time": "Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)",
}
全雙" ",資料小一點還好大一點很難手動改,請問有什麼方式或工具可以轉換這樣的格式嗎
{ name: 'file',
time: 'Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)'
}
版主自動產生的格式有點問題
你可使用http://json.parser.online.fr/ 來看看
以下才是正確Json格式
{ "name": "file",
"time": "Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)"
}
Json的Key一定要""雙引號
可能你要調整一下你產Json格式工具的程式
試如 @dog830228 所言,可從資料來源修改成正確的json格式,
如果沒法從來源修改,
那就用流傳千古的正規(則)表達式的方法替換。
這種問題,網路上有人問,我用json variable add double quote 這幾個字 google,
在stackoverflow裏有類似的問答
給了一段範例code,
str.replace(/([a-zA-Z0-9-]+):([a-zA-Z0-9-]+)/g, "\"$1\":\"$2\"");
因為你的時間格式裏也有冒號:,及你的value已有單引號,
所以
我小改成
var str= "{ name: 'file',time: 'Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)',}";
console.log(str.replace(/([a-zA-Z]+):/g, "\"$1\":"));
效果是
{ "name": 'file',"time": 'Tue Oct 17 2017 00:00:00 GMT+0800 (台北標準時間)',}
你可以用線上版的正則式替換,google "regular expression online",還蠻多的。
整批加上雙引號。