【问题标题】:Tokenize JSON data with Javascript使用 Javascript 标记 JSON 数据
【发布时间】:2014-09-16 10:56:12
【问题描述】:

我有一个 JSON 格式:

{\"A\":\"1.354534634,\",\"B\":\"-0.432335,\",\"C\":\"0.234123423,\"}

我需要使用 Javascript 对其进行标记,并且需要分配这样的值:

Accel_X = value of A, ie. 1.354534634

Accel_Y = value of B, ie. -0.432335

Accel_Z = value of C, ie. 0.234123423

我可以使用 slice() 。但对于较大的实例来说,这是一种不好的方法,而不是编码的好方法。那么,我该怎么做呢?

【问题讨论】:

  • 你为什么不能JSON.parse呢?

标签: javascript json tokenize


【解决方案1】:

一开始您不需要转义 JSON 中的那些引号:

var json = '{"A":"1.354534634,","B":"-0.432335,","C":"0.234123423,"}';

解析它:

var obj = JSON.parse(json);

然后只需分配给您的变量,删除逗号。

var Accel_X = obj.A.replace(',', '');
var Accel_Y = obj.B.replace(',', '');
var Accel_Z = obj.C.replace(',', '');

注意:这会将数字分配为字符串。如果您希望它们作为浮点数,您还需要进行类型转换:

var Accel_X = parseFloat(obj.A.replace(',', ''));
var Accel_Y = parseFloat(obj.B.replace(',', ''));
var Accel_Z = parseFloat(obj.C.replace(',', ''));

DEMO

【讨论】:

    【解决方案2】:

    您可以使用 JSON.parse。

    var a = "{\"A\":\"1.354534634,\",\"B\":\"-0.432335,\",\"C\":\"0.234123423,\"}";
    
    var b = JSON.parse(a);
    
    Accel_X = b.A;
    Accel_Y = b.B;
    Accel_Z = b.C;
    
    console.log(Accel_X,Accel_Y,Accel_Z);
    

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      相关资源
      最近更新 更多