teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足を追記

2021/01/30 03:57

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -18,4 +18,8 @@
18
18
  ...
19
19
  "yahoo_retargeting_items":obj
20
20
  ...
21
- ```
21
+ ```
22
+
23
+ ※更に追記
24
+ JSONをどのように記述すればいいかは[RFC8259](http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rfc8259j.html)(リンク先は日本語訳)で厳密な書式が定義されています。
25
+ 手っ取り早く構造化されたデータをJSONに変換したいのであれば、JSON.stringifyを使えばokです。

1

コメントへの返答を追記

2021/01/30 03:57

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -4,4 +4,18 @@
4
4
  resultに入っているのは文字列であることに注意しましょう。
5
5
 
6
6
  また、resultに入っているのはJSONとしては不適合です。
7
- そのままJSON.parseに渡してもエラーで弾かれるだけですので、JSONに適合出来るように構成して下さい。
7
+ そのままJSON.parseに渡してもエラーで弾かれるだけですので、JSONに適合出来るように構成して下さい。
8
+
9
+ ※追記
10
+ JSONは配列も構成要素として記述できます。こんな感じで。
11
+ ```javascript
12
+ var strItems = '[{"item_id": "item1", "category_id": "", "price": "1200", "quantity": "1"},{"item_id": "item2", "category_id": "", "price": "2000", "quantity": "1"}]';
13
+ var obj = JSON.parse(strItems);
14
+ ```
15
+ この場合、objの中身は"オブジェクト二つを要素として持つ配列"となりますので、
16
+ yahoo_retargeting_itemsに渡すのは[obj]ではなくobjになります。
17
+ ```javascript
18
+ ...
19
+ "yahoo_retargeting_items":obj
20
+ ...
21
+ ```