2016-02-11 60 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>