javascript,删除多个数组中的双引号
javascript, remove double quotes inside multiple array
我正在尝试为 datastudio 构建自定义视觉效果,我让它工作了,但是有一个步骤,我无法修复,Datastudio 生成了一个 json 文件,如下所示
export const message = {
"tables": {
"DEFAULT": [
{
"coordinateid": [
"143.4999336,-34.777302"
],
"colorid": [
"169,255,169"
],
"sizeid": [
1
]
},
{
"coordinateid": [
"143.4999358,-34.7773749"
],
"colorid": [
"169,169,169"
],
"sizeid": [
1
]
},
{
在deckgl中相关的代码是
const drawViz = (data) => {
var data1 = data.tables.DEFAULT;
getPosition: d => d.coordinateid,
让它工作的唯一方法是当我从数组中的值中删除引号时
"coordinateid": [
143.4999336,-34.777302
]
有没有办法删除方括号之间的双引号,或者只解析值并忽略双引号
寻找答案
基本上,使用 JSON.stringify 将 javascript 对象更改为字符串,使用正则表达式替换字符串,然后使用 Json.parese 将其更改回对象
var data1 = data.tables.DEFAULT;
var data2 = JSON.stringify(data1);
var data3 = data2.replace(/\"]/g, "]");
var data4 = data3.replace(/\["/g, "[");
var data4 = JSON.parse(data4);
DataStudio returns GEO LatLong 坐标作为逗号分隔的字符串。正确的解析方法如下:
var baseCoordinate = "143.4999336,-34.777302";
// Split out the coordinates into multiple strings
var coordinates = baseCoordinate.split(",");
// Turn the strings into floats
var coordinatesAsNumbers = coordinates.map((coord) => parseFloat(coord));
这将为您提供数组中浮点数的坐标,这似乎是 deckgl 所期望的格式。
我正在尝试为 datastudio 构建自定义视觉效果,我让它工作了,但是有一个步骤,我无法修复,Datastudio 生成了一个 json 文件,如下所示
export const message = {
"tables": {
"DEFAULT": [
{
"coordinateid": [
"143.4999336,-34.777302"
],
"colorid": [
"169,255,169"
],
"sizeid": [
1
]
},
{
"coordinateid": [
"143.4999358,-34.7773749"
],
"colorid": [
"169,169,169"
],
"sizeid": [
1
]
},
{
在deckgl中相关的代码是
const drawViz = (data) => {
var data1 = data.tables.DEFAULT;
getPosition: d => d.coordinateid,
让它工作的唯一方法是当我从数组中的值中删除引号时
"coordinateid": [
143.4999336,-34.777302
]
有没有办法删除方括号之间的双引号,或者只解析值并忽略双引号
寻找答案
基本上,使用 JSON.stringify 将 javascript 对象更改为字符串,使用正则表达式替换字符串,然后使用 Json.parese 将其更改回对象
var data1 = data.tables.DEFAULT;
var data2 = JSON.stringify(data1);
var data3 = data2.replace(/\"]/g, "]");
var data4 = data3.replace(/\["/g, "[");
var data4 = JSON.parse(data4);
DataStudio returns GEO LatLong 坐标作为逗号分隔的字符串。正确的解析方法如下:
var baseCoordinate = "143.4999336,-34.777302";
// Split out the coordinates into multiple strings
var coordinates = baseCoordinate.split(",");
// Turn the strings into floats
var coordinatesAsNumbers = coordinates.map((coord) => parseFloat(coord));
这将为您提供数组中浮点数的坐标,这似乎是 deckgl 所期望的格式。