简体   繁体   中英

How to convert String with Date to Json Object?

I want to convert one string to JSON Object in my Javascript. When I convert to Json Object the date in the String totally changed

This is my string

var JsonData=[[2013-02-27,787],[2013-02-26,131],[2013-02-02,0],[2013-01-20,8],[2012-12-28,12]]

I am converting to JSON object with the following

var json = eval( JsonData );

Then I get following result in alert

1984,787,1985,131,2009,0,1992,8,1972,12

Can anyone please guide me? How do I solve this?

Now I Got error of following

Timestamp: 3/7/2013 1:10:36 PM
Error: TypeError: this.proxy.getTime is not a function

in somewhere in my javascript..so i am thinking that its beacuse the date is not converted properly in Json Object..is it so??can anyone please guide?

Don't use eval()

Use JSON.parse() to convert the string into a json object. Plus as your JsonData isn't valid JSON, use JSON.stringify() also.

var JsonData = [[2013-02-27,787],[2013-02-26,131],[2013-02-02,0],[2013-01-20,8],[2012-12-28,12]];
JSONObject = JSON.parse(JSON.stringify(JsonData));
<script>
var JsonData=[[2013-02-27,787],[2013-02-26,131],[2013-02-02,0],[2013-01-20,8],["2012-12-28,12"],["Fri May 04 2012 01:17:07 GMT-0700 (PDT)"]]
var json = eval( JsonData );
alert(json);
</script>

Then the result I got is 1984,787,1985,131,2009,0,1992,8,2012-12-28,12,Fri May 04 2012 01:17:07 GMT-0700 (PDT). So I think the the dates should be enclosed in double quotes. I hope this helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM