JSON.parse()和JSON.stringify()的解析與用途


parse用於從一個字符串中解析出json對象
如:
var str = '{"name":"huangxiaojian","age":"23"}'
結果:
JSON.parse(str)
Object
age“23"
name“huangxiaojian"
__proto__Object
 
stringify()用於從一個對象解析出字符串
如:
var a = {a:1,b:2}
結果:
JSON.stringify(a)
"{"a":1,"b":2}”
 
遇到問題:
 
點擊事件如下圖:

如圖說圈部位,當   let data = this.form  時
在執行 this.$message.error(res.data.message)后再次點擊,會報錯
因為:
 data.validitybegintime = new Date(data.validitybegintime).format('yyyy-MM-dd hh:mm:ss’)
 data.validityendingtime = new Date( data.validityendingtime).format('yyyy-MM-dd hh:mm:ss’)
  data修改了數據的格式  ,而data和this.form指向同一個內存,所以this.form中的數據格式同樣被改變
故直接再次點擊會因this.form的數據格式改變而報錯
改為如圖所示格式時,則可正常進行
 
同理:
var status = ['','未進場','用戶取消','系統取消','停車中']
vm.form = JSON.parse(JSON.stringify(vm.$route.params))
vm.form.orderstatus = status[vm.form.orderstatus]
這樣vm.form.orderstatus的發生改變時,vm.$route.params.orderstatus不會繼承這一改變 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM