2016-02-11 43 views
2

我搞乱了构建一个JSON对象,所以我可以将结果从一个数据库查询插入到它,然后返回填充的JSON数据..但从一开始就遇到问题。我的JSON数据有什么问题?

这是我当前的代码:

//var AppenateResString = {name:"777"}; 
 

 
var AppenateResString = { 
 
    "DataSources": [{ 
 
    "Id": "TEST", 
 
    "Rows": [ 
 
     ["10011", "10011 - Test Generic Project"] 
 
    ], 
 
    "NewRows": [], 
 
    "DeletedRows": [] 
 
    }], 
 
    "LastUpdated": "" 
 
}; 
 

 
var AppenateResBody = JSON.parse(AppenateResString); 
 
response.body = JSON.stringify(AppenateResBody);

但是,这是我收到的错误:

JavaScript Error: SyntaxError: invalid character 'o' looking for beginning of value 
 
    at 
 
<anonymous>:21:23 
 
-- 
 
}; 
 

 
var AppenateResBody = JSON.parse(AppenateResString); 
 
        ^Error!

我已经收窄它到我的JSON布局的东西是错的..或者我如何构建JSON对象......或者一些基本的“这就是你如何做JSON”的一些事情。但我无法弄清楚。

任何想法?

P.S.正如你所看到的,我已经评论过我认为是一个非常简单的JSON对象来构建..它失败了。

+0

那不是json。这只是一个常规的JavaScript变量assignemt。没有必要解析任何东西,因为当整个'

6

AppenateResString根本不是JSON。它是一个JavaScript对象(而不是字符串)。

JSON是一种序列化格式。如果你有任何JavaScript,那么它将被表示为一个字符串。

0

你试图调用JSON.parse的东西,是已经是一个对象,这就是你为什么要这样做的原因错误。

错误消息指出invalid character 'o' looking for beginning of value正在发生,因为它实际上是试图解析单词“对象”而不是实际的数据结构。

1

你只是在复杂的事情。你不需要JSON.parse对象。它已经是你需要的格式。

<script type="text/javascript"> 
var AppenateResString = { 
    "DataSources": [{ 
    "Id": "TEST", 
    "Rows": [ 
     ["10011", "10011 - Test Generic Project"] 
    ], 
    "NewRows": [], 
    "DeletedRows": [] 
    }], 
    "LastUpdated": "" 
}; 

response.body = JSON.stringify(AppenateResString); 
    </script>