在開發中,數組和JSON結構的數據傳輸是非常常見的。因為在不同的系統之間傳遞數據的是以json結構的形式為主的,而前端一般在請求api獲取數據后拿到的是以數組的形式返回的數據。
Vue框架作為一款目前使用最為廣泛的框架之一,也提供了轉換數組為json的API。Vue中的toJSON()方法是用于將一個數組結構的對象(Array)轉換為JSON格式的字符串對象(String)的方法。
const arr = [1,2,3,{name:'tencent',value:'誠信'}]
const json = JSON.stringify(arr)
console.log(json)
在上面的代碼中,我們首先構造了一個數組結構,數組包含了一些整數以及包含名稱和數值的鍵值對。這個數組使用了JSON.stringify()方法來將數組轉換為JSON格式的字符串并輸出到控制臺上。在開發中,雖然直接使用JSON.stringify()方法也能實現將數組轉換為JSON格式的數據,但是Vue框架提供的toJSON()方法能更好的將數據轉換為JSON字符串后對操作數據進行“友好”的操作。
const arr = [1,2,3,{name:'tencent',value:'誠信'}]
const arr2 = arr.toJSON()
console.log(arr2)
代碼中我們使用了Vue框架提供的toJSON()方法將數組中的數據轉換為JSON字符串,并將其輸出到控制臺上。
需要注意的是,在Vue中toJSON()方法只能被擁有監聽數據(Observer)的對象所使用,所以當我們使用數組中的方法改變數組或者賦值時,Vue框架也會立即做出響應。
const data = Vue.observable({
arr:[1,2,3,{name:'tencent',value:'誠信'}]
})
const json = data.arr.toJSON()
在上面的代碼中,我們首先定義了一個可觀察的數據對象data,并指定其屬性arr為我們前面定義好的數組。然后我們將arr的值轉換為JSON格式的字符串,并將字符串保存到json變量中。由于Vue框架能夠將監聽器添加到可觀察的數據對象上,所以當我們通過某些手段改變arr中的值時,Vue框架也能監聽到并做出響應。
綜上所述,Vue框架的toJSON()方法用于將數組結構的數據轉換為JSON字符串以供交互使用,但同時還需要將該數組打上監聽器標簽以便于Vue框架更好的監聽到被操作的數據,實現動態響應。