2013-05-09 52 views
2

这里我使用java.stringify获取数据。但要使用我在图表框架中获得的数据,这不应该被引用。我需要解析所有引用它的数据。 (例如[{data:[{x:87.6,y:85} ..)我应该在这里做什么?请帮帮我!!使用Javascript解析

Here`s,我需要分析数据..

[{"data":[{"x":87.6,"y":85},{"x":116.08,"y":61},{"x":113.11,"y":49},{"x":181.37,"y":65},{"x":138.14,"y":74},{"x":66.03,"y":89}]}] 
+1

两者都是相同的... !!! “J”中的“x”= x – 2013-05-09 06:48:50

+0

但是,当我们在图表prasath中使用它时,情况就不一样了!这就是为什么我面临着probs – Ash 2013-05-09 06:50:26

回答

1

使用正则表达式来删除引号。

例如,如果它是一个JSON字符串,你可以这样做:

var json = '{ "name": "John Smith" }'; //Let's say you got this 
json = json.replace(/\"([^(\")"]+)\":/g,"$1:"); //This will remove all the quotes 
json;  //'{ name:"John Smith" }' 

在你输入的情况下:

var a ='[{"data":[{"x":87.6,"y":85},{"x":116.08,"y":61},{"x":113.11,"y":49},{"x":181.37,"y":65},{"x":138.14,"y":74},{"x":66.03,"y":89}]}]'; 
a = a.replace(/\"([^(\")"]+)\":/g,"$1:");  
a; //"[{data:[{x:87.6,y:85},{x:116.08,y:61},{x:113.11,y:49},{x:181.37,y:65},{x:138.14,y:74},{x:66.03,y:89}]}]" 
0

在Chrome的控制台我想这

var obj = jQuery.parseJSON('{"data":[{"x":87.6,"y":85},{"x":116.08,"y":61},{"x":113.11,"y":49},{"x":181.37,"y":65},{"x":138.14,"y":74},{"x":66.03,"y":89}]}'); 

obj 

我得到的输出为

Object {data: Array[6]} 

我希望从这里你可以得到一个想法。

1

JSON就像一个元素数组。每个元素可以再次是一个元素数组,其索引是一个字符而不是数字。 所以在你的例子中,有大量的数组。 1.Taking走第一个封装阵列,你达到“数据” arrray 2.

var js=[{"data":[{"x":87.6,"y":85},{"x":116.08,"y":61},{"x":113.11,"y":49},{"x":181.37,"y":65},{"x":138.14,"y":74},{"x":66.03,"y":89}]}]; 

    //This will have all the data value in array. 
    var data=js[0]['data']; 
//The data array has lots of sub arrays whose elements are arrays (with index x,y). 
    for(var i=0;i<data.length;i++){ 
    var subData=data[i]; 
    var x=subData['x']; 
    var y=subData['y']; 
    //Do something with x and y 
    } 

通过这种方式,你可以接触到内JSON的任何元素解析。希望这会有所帮助! JS小提琴检查链接:http://jsfiddle.net/saiprasad2k6/f88fH/7/