gpt4 book ai didi

javascript - Vue - 将 JSON 对象转换为具有特定布局的字符串

转载 作者:行者123 更新时间:2023-12-01 00:54:26 26 4
gpt4 key购买 nike

我有一个动态设置的 JSON 对象。下面是设置列的方法onDragStop:

data() {
return {
columns: [],
}
},

methods: {
onDragStop: function (index) {
this.$set(this.columns, index, {
xAxis: this.left,
position: ((this.left/SomeWidth) * 100),
});
}

}

上面将创建一个如下所示的 JSON 对象(2 列):

[{"xAxis":329.2921875,"position":"30"},{"xAxis":658.584375,"position":"60"}]

现在,我需要将此 JSON 对象传递给后端 PHP 文件,该文件需要如下布局:

"{"1": {"position": "30"}, "2": {"position": "60"}}"

PHP 文件只是对 JSON 进行编码:

$columns = json_encode($request->columns);

现在我尝试通过以下方法将 JSON 字符串转换为所需的输出:

UpdateColumns: function (columns) {
this.columns = JSON.stringify(columns)
}

但是上面将其转换为:

"{"columns":[{"xAxis":340,"position":"30.98"},{"xAxis":658.584375,"position":"60"}]}"

我想知道,是否可以将 JSON 对象转换为我想要的输出?这应该在 Vue 文件中完成 - 还是应该在后端 PHP 文件上处理?

最佳答案

试试这个:

const data =[{"xAxis":329.2921875,"position":"30"},{"xAxis":658.584375,"position":"60"}];
const result = data.map(res=>({position: res.position}))
.reduce((map, obj, i) => (map[i] = obj, map), {})
console.log(result);

关于javascript - Vue - 将 JSON 对象转换为具有特定布局的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56704354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com