ninja.stop
ninja.stop

Reputation: 430

Tokenize JSON data with Javascript

I am having one JSON as :

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

I need to tokenize this with Javascript and I need to assign values like that:

Accel_X = value of A, ie. 1.354534634

Accel_Y = value of B, ie. -0.432335

Accel_Z = value of C, ie. 0.234123423

I can use slice() . But that is a bad way to do that for a larger instance and not good way to code. So, How can I do that ?

Upvotes: 1

Views: 1979

Answers (2)

Andy
Andy

Reputation: 63550

You don't need to escape those quote marks in the JSON for a start:

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

Parse it:

var obj = JSON.parse(json);

Then just assign to your variables, removing the commas.

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

Note: this will assign the numbers as strings. If you want them as floating point numbers you need to do a type conversion too:

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

DEMO

Upvotes: 4

Mithun Satheesh
Mithun Satheesh

Reputation: 27845

You can use JSON.parse for it.

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);

Upvotes: 2

Related Questions