首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在google可视化api列图中使用json对象内用数字替换字符串值

如何在google可视化api列图中使用json对象内用数字替换字符串值
EN

Stack Overflow用户
提问于 2013-12-04 18:02:31
回答 3查看 6.2K关注 0票数 4

我有一个用于google图表可视化的Json字符串,它需要以这种精确的格式显示,我需要替换"v“的每个值,即它的数值(没有”“的值)。我应该做一些javascript替换函数,但是我找不到在json对象周围移动的方法。下面是我应该修改的json字符串和示例:

代码语言:javascript
运行
复制
{"cols":[
{"id":"r","label":"Reason","type":"string"},
{"id":"m","label":"Minutes","type":"number"}
],
"rows":[
{"c":[
     {"v":"Flour - Blower","f":"Flour - Blower"},
     {"v":"7","f":"7"}]},
{"c":[
     {"v":"Whole Line - d","f":"Whole Line - d"},
     {"v":"4","f":"4"}]},
{"c":[
     {"v":"Flour - Pipework","f":"Flour - Pipework"},
     {"v":"3","f":"3"}]},
{"c":[
     {"v":"Horseshoe - Belt","f":"Horseshoe - Belt"},
     {"v":"1","f":"1"}]}
],
"p":null
}

也许我应该做些如下的事情:

代码语言:javascript
运行
复制
var jsonStr = ...;

for (i in jsonStr.rows) {
   for(j in jsonStr[i].c)
   { 
    if (parseInt(jsonStr[i].c[j].v) != 'NaN') {
        jsonStr.rows[i].c[j].v = parseInt(jsonStr.rows[i].c[j].v);
   }
 }
EN

Stack Overflow用户

发布于 2013-12-04 18:25:06

我觉得解析没问题。它可能不起作用,因为您无法通过与NaN进行比较来真正检查字符串是否包含数字

这是因为即使是著名的NaN === NaN也会返回false

我建议您使用isNaN方法(它确实在内部使用parseInt )。所以,像这样的事情应该能起作用

代码语言:javascript
运行
复制
for (i in jsonStr.rows) {
   for(j in jsonStr[i].c)
   { 
    if (!isNaN(jsonStr[i].c[j].v)) {
        jsonStr.rows[i].c[j].v = parseInt(jsonStr.rows[i].c[j].v);
   }
 }
票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20382591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档