【问题标题】:Remove quotes from JSON object for Google Graphs从 Google Graphs 的 JSON 对象中删除引号
【发布时间】:2014-10-14 10:27:13
【问题描述】:

我有一个这种形式的 JSON: [["管理信息系统","2","0"],["营销","1","1"]] Google Graphs 希望它采用以下格式:

 [['Subject', 'Value1', 'Value2'],
 ['Management Information Systems',2,0],
 ['Marketing', 1,1]]

我该怎么做?

【问题讨论】:

  • 您解析 JSON,然后通过知道 GG 格式的代码运行它。

标签: json string removeall


【解决方案1】:

我通常不会使用字符串操作来修改 JSON,我会解析 JSON 以获取 JS 对象(在您的情况下为数组数组),然后在转换回 JSON 字符串之前直接修改该对象。

以下是一种方法:

// your input as a string
var input = '[["Management Information Systems","2","0"],["Marketing","1","1"]]';

// parse to get an object that you can manipulate
var obj = JSON.parse(input),
    i,
    output;    
// loop over the array
for (i = 0; i < obj.length; i++){
    obj[i][1] = +obj[i][1];  // convert string to number using 
    obj[i][2] = +obj[i][2];  // the unary plus operator
}    
// add the extra element to the beginning of the array
obj.unshift(['Subject', 'Value1', 'Value2']);    
// convert to JSON string
output = JSON.stringify(obj);

console.log(output);
// ["Subject","Value1","Value2"],["Management Information Systems",2,0],["Marketing",1,1]] 

演示:http://jsfiddle.net/qwoo54rp/

或者你可以使用array .map() method:

var input = '[["Management Information Systems","2","0"],["Marketing","1","1"]]';

var obj = JSON.parse(input).map(function(v) {
      return [v[0], +v[1], +v[2]];
    }),
    output;        
obj.unshift(['Subject', 'Value1', 'Value2']);
output = JSON.stringify(obj);

演示:http://jsfiddle.net/qwoo54rp/1/

请注意,您显示的所需格式带有单引号,但尽管这在 JS 对象文字或数组文字中有效,但它不是有效的 JSON。我不使用 Google Graphs,但我会假设它要么需要一个有效的 JSON 字符串(带双引号),要么它需要一个 JS 对象(在这种情况下,引号并不是值的一部分)。

进一步阅读:

【讨论】:

  • // 您的输入为字符串 var input = '[["Management Information Systems","2","0"],["Marketing","1","1"]] '; // 解析得到一个可以操作的对象 var obj = JSON.parse(input), i, output; // 遍历数组 for (i = 0; i
  • 我提到可能是这种情况。这意味着您实际上并没有处理 JSON(至少不是用于输出),因为 JSON 始终是一个字符串。
【解决方案2】:

如果您知道输入本质上是整数,则可以使用 parseInt(string) 将字符串转换为 Javascript 中的数字,如果输入可能包含小数部分,则可以使用 parseFloat(string)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2014-06-16
    • 2017-08-08
    • 2017-05-21
    • 2021-09-24
    • 2012-09-03
    • 2020-04-12
    相关资源
    最近更新 更多