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

質問編集履歴

5

形式の統一

2016/11/08 10:06

投稿

CyberMergina
CyberMergina

スコア295

title CHANGED
File without changes
body CHANGED
@@ -65,7 +65,7 @@
65
65
  prototype.jsが埋め込まれているサイトを見つけ、「上記スクリプト」を流すと問題なくパースできました。
66
66
  ※ 念のため、お客様サイトでもう一度確認しましたが、パースできておりません。
67
67
 
68
- ## 追記
68
+ ## 追記3~
69
69
 
70
70
  追記②で書いていた、「検証に使用したサイト様」を発見しました。
71
71
  [こちらのページ](http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2/sample/sample-prototype.html) になります。

4

追記しました。

2016/11/08 10:06

投稿

CyberMergina
CyberMergina

スコア295

title CHANGED
File without changes
body CHANGED
@@ -63,4 +63,9 @@
63
63
 
64
64
  ご回答を新たに頂き、もう一度確認しました。
65
65
  prototype.jsが埋め込まれているサイトを見つけ、「上記スクリプト」を流すと問題なくパースできました。
66
- ※ 念のため、お客様サイトでもう一度確認しましたが、パースできておりません。
66
+ ※ 念のため、お客様サイトでもう一度確認しましたが、パースできておりません。
67
+
68
+ ## 追記③
69
+
70
+ 追記②で書いていた、「検証に使用したサイト様」を発見しました。
71
+ [こちらのページ](http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2/sample/sample-prototype.html) になります。

3

json変数の中身について追記しました。

2016/11/08 10:05

投稿

CyberMergina
CyberMergina

スコア295

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,7 @@
17
17
  ただ、とあるお客様のサイトだと
18
18
  ```
19
19
  string ["A", "B"]
20
+ // ちなみに、json変数の中身は "[\"A\",\"B\"]" となっておりました。
20
21
  ```
21
22
  という結果が返ってきてしまいます。
22
23
  ※ ちなみに検証ブラウザは同じになります。

2

追記しました。

2016/11/08 10:03

投稿

CyberMergina
CyberMergina

スコア295

title CHANGED
File without changes
body CHANGED
@@ -27,7 +27,39 @@
27
27
  JSON.parseやJSON.stringifyの使い方が間違っているのでしょうか?
28
28
  ご存知の方がいらっしゃいましたら、ご教授願います。
29
29
 
30
- ~追記~
30
+ # ~追記~
31
31
  お客様サイトと自社サイトのJSON.parse関数が異なるのに気づきました。
32
32
  お客様サイトにはprototype.jsが入っておりました。
33
- 念のため追記します。※詳しくないので、調べてまいります
33
+ 念のため追記します。※詳しくないので、調べてまいります
34
+
35
+ # ~追記2~
36
+
37
+ - 「JSON.stringifyが2重実行となっていた」と判断した理由
38
+
39
+ まず、原因として「JSON.stringifyが2重実行となっていた」と判断した理由ですが、
40
+ 1.自社で作成している同一のJSファイルを複数サイトが読み、扱っている。
41
+ 2.ただし、同現象が発生したのは1サイトのみだった
42
+ といったところです。
43
+
44
+ 念のため、開発者モードで「上記スクリプト」を流しましたが、
45
+ 対象のサイトのみで発生していた模様でした。
46
+
47
+ JSON.stringifyを実行した時点で、結果が異なっていたため、
48
+ 「JSON関数群自体が書き換わっているのではないか」と思い
49
+ console.dir(JSON.parse);で見たところ、オブジェクトの中身が異なっていたため
50
+ JSON関数群が書き換わっているのでは?と思いました。
51
+
52
+ - 「prototype.js」を疑った理由
53
+
54
+ とりあえず、他のサイトとお客様サイトの違いを探した際に、一番最初に「prototype.js」に目を付けました。
55
+ (「歴史のあるJavaScriptの機能拡張できるモジュール」という認識を持っていたので)
56
+ 手っ取り早く「prototyoe.js」が埋め込まれているサイトを探し、「上記スクリプト」を流すと
57
+ 同じ現象が起きたため、「prototype.js」が原因か!と判断しました。(サイトがどれだったか見失いました・・・)
58
+
59
+ - 現状
60
+
61
+ 結論としては **prototype.js** が問題ではなさそうです。(おそらく)
62
+
63
+ ご回答を新たに頂き、もう一度確認しました。
64
+ prototype.jsが埋め込まれているサイトを見つけ、「上記スクリプト」を流すと問題なくパースできました。
65
+ ※ 念のため、お客様サイトでもう一度確認しましたが、パースできておりません。

1

追記しました

2016/11/08 09:58

投稿

CyberMergina
CyberMergina

スコア295

title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,9 @@
25
25
  最終手段かと思っております。
26
26
 
27
27
  JSON.parseやJSON.stringifyの使い方が間違っているのでしょうか?
28
- ご存知の方がいらっしゃいましたら、ご教授願います。
28
+ ご存知の方がいらっしゃいましたら、ご教授願います。
29
+
30
+ ~追記~
31
+ お客様サイトと自社サイトのJSON.parse関数が異なるのに気づきました。
32
+ お客様サイトにはprototype.jsが入っておりました。
33
+ 念のため追記します。※詳しくないので、調べてまいります