2016-09-20 2 views
1

私はJSON.stringify()によって保存されたデータを得るためにpostgres row_to_json関数を使用しています。しかし、私がそれを取り出してJSON.parse()をすると、それは私に "unexpected token ,"というエラーメッセージを出しました。フロントエンドから私の場合、DBからデータを取り出してオブジェクト化するには?

私の元データ:

{ 
    "company":[ 
    {"name":"test company"}, 
    {"ceo":"John"} 
    ] 
} 

私はJSON.stringify(myData.company)とpostgresのにそれを格納します。

私はそれを取得すると、私はrow_to_jsonデータを取得する機能があります。

console.log(myRetrieveData)は私がJSON.parse(myRetrieveData)を使用し、 'unpexted token ,' エラーを得た

{"{\"name\":\"test company\"}","{\"ceo\":\"John\"}"} 

なります。

私はrow_to_jsonをjsonに変換してJSON.parseで使用することはできませんが、他のデータには機能が必要です。 これを修正する方法がわかりません。誰もそれについて私を助けることができますか? ありがとう!

答えて

1

クエリから取得したJSONが、解析するための適切な形式ではないようです。これを避けるために、DBに格納されているJSONが適切なJSON形式であることを確認して解析してください。これが達成できない場合は、DBから取得した応答を適切なJSONに変更する必要があります。上記のデータを用いて、以下のように行うことができる。

var improperJson = '{"{\"name\":\"test company\"}","{\"ceo\":\"John\"}"}'; 
var properJson = improperJson.replace(/","/g, ",").replace(/^{"/, "[").replace(/"}$/, "]"); 
console.log(JSON.parse(properJson));//should give you the parsed JSON 
+0

ありがとうございましたが、私に「予期しないトークン\\」を与えました。 +1 – FlyingCat

+0

あなたのコードからproperJsonの 'console.log'出力を追加できますか? –

+0

確かに。 – FlyingCat

関連する問題