我有一个这样的字符串:
data="{'year':'1990/01/01','income':1990/02/01,'expenses':1000668},{'year':'1990/03/01','income':1000778,'expenses':1000778}"
我想将它设置在一个这样的数组上:
var chart_data = [data];
我该怎么做?
答案 0 :(得分:2)
假设第一个income
值是引用的或数值,请试试这个
var chart_data = JSON.parse('[' + data.replace(/'/g, '"') + ']')
我必须将所有单引号转换为double才能使字符串对JSON解析有效。
答案 1 :(得分:0)
您的数据几乎是JSON,因此您可以对其进行操作以匹配该格式,然后使用JSON.parse()
将其转换为Javascript对象。
第一个问题是您需要将'
转换为"
,因为JSON使用"
来换行字符串。您可以使用String.replace()执行此操作。
在一个字符串中也有几个对象,但JSON只能给你一个结果。您可以将字符串包装在[]
中以获取JSON.parse()
,以便为您提供包含对象的数组。
我看到的最后一件事是第一个项目的收入有一些松散的/
,这些在JSON中是不允许的。您需要将收入包装在"
或删除/
。
以下是一个例子:
var data = "{'year':'1990/01/01','income':19900201,'expenses':1000668},{'year':'1990/03/01','income':1000778,'expenses':1000778}";
data = '[' + data.replace(/'/g, '"') + ']';
var chart_data = JSON.parse(data);