質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

3回答

4586閲覧

Jsonデータでフォーマットエラーの理由が分からず困っています。

hidepon

総合スコア206

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2017/05/28 03:06

編集2017/05/28 03:35

Ajax でデータをPHPにデータを送信してJson形式で返答するのですが、返信するJsonデータになぜか「・」というゴミが付いてしまいます。
(Chromeの開発ツールで赤字で表示されています。)
正常に動いているJson データにはなく、異常が発生する側にはこの「・」が付いています。
PHP には特にそのような記述も無く、途方に暮れています

何か理由があるのでしょうか?
ご存知の方、教えていただけるでしょうか?
(追記・訂正)
https://syncer.jp/json-prettyprint
というサービスでJsonチェックができるとのことで
やってみると

{"103":"\u3066\u3059\u3068\u3066\u3059\u30683","214":"\u3066\u3059\u3068\u3066\u3059\u306810","240":"\u3066\u3059\u3068\u3066\u3059\u306817","175":"\u3066\u3059\u3068\u3066\u3059\u306824","100":"\u3066\u3059\u3068\u3066\u3059\u306831","114":"\u3066\u3059\u3068\u3066\u3059\u306838","125":"\u3066\u3059\u3068\u3066\u3059\u306842","136":"\u3066\u3059\u3068\u3066\u3059\u306845","145":"\u3066\u3059\u3068\u3066\u3059\u306850"}

「SyntaxError: Unexpected token  in JSON at position 0」

というエラーメッセージが出ました。
「・」というのはエラーがあるという表現らしいです。ここは理解できました。
なぜ、このエラーがでるのかがわかりません。
ご存知の方教えていただければと思います。
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/28 03:27

jason ではなく、 json です。
hidepon

2017/05/28 03:28

申し訳ございません。訂正します。
退会済みユーザー

退会済みユーザー

2017/05/28 03:32

タイトルも間違っています。
hidepon

2017/05/28 03:34

見落としていました、申し訳ございません。
guest

回答3

0

ベストアンサー

おそらくですが、どこかのPHPファイルの先頭にBOMという「見えない文字」が混入していて、それが先頭に出力されているものと思われます。

PHPファイルに限らず、UTF-8テキストにBOMは本来不要なものなので、「UTF-8N」あるいは「UTF-8(BOMなし)」という形を選んで保存しましょう。

投稿2017/05/28 04:53

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidepon

2017/06/03 07:20

ズバリの内容でした。有難うございました。
guest

0

提示のJSONはパースできるので、出力に問題が有ると思います。出力部分を提示されたほうが解決につながると思います。(意図せぬエラーや不用意なechoなどが紛れていませんか?)

JavaScript

1JSON.parse('{"103":"\u3066\u3059\u3068\u3066\u3059\u30683","214":"\u3066\u3059\u3068\u3066\u3059\u306810","240":"\u3066\u3059\u3068\u3066\u3059\u306817","175":"\u3066\u3059\u3068\u3066\u3059\u306824","100":"\u3066\u3059\u3068\u3066\u3059\u306831","114":"\u3066\u3059\u3068\u3066\u3059\u306838","125":"\u3066\u3059\u3068\u3066\u3059\u306842","136":"\u3066\u3059\u3068\u3066\u3059\u306845","145":"\u3066\u3059\u3068\u3066\u3059\u306850"}'); 2/* 3Object { 100: "てすとてすと31", 103: "てすとてすと3", 114: "てすとてすと38", 125: "てすとてすと42", 136: "てすとてすと45", 145: "てすとてすと50", 175: "てすとてすと24", 214: "てすとてすと10", 240: "てすとてすと17" } 4*/

投稿2017/05/28 05:15

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Unocodeエスケープシーケンス

\u から始まるUnocodeエスケープシーケンスは4桁の16進数値が後続しなければなりません。

HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
UnicodeEscapeSequence:: u Hex4Digits u {HexDigits} Hex4Digits:: HexDigit HexDigit HexDigit HexDigit

Re: hidepon さん

投稿2017/05/28 03:50

編集2017/05/28 15:05
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2017/05/28 15:07

"\u30683" はUnicodeエスケープシーケンス + 数値文字列としてパースされる為、この回答は流して下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問