0

Windows 8 アプリの JSON の次の URL を検証しようとしています。問題は、次のコードが実行され、提供されたリストボックスにバインドされないことです。私はコードが機能することを知っており、作成した JSON に絞り込みました。

 new WinJS.Binding.List(json.results);

この Web サイトで見られる JSON は、Web サイトで有効であると表示されています...

https://example.com/app/example.php

..URL をコピーして jsonlint.com などの JSON valadator に貼り付けると、次のようになります。

Parse error on line 1 <\!DOCTYPEhtmlPUBLIC" ^ Expecting '{', '['

..しかし、コードをコピーして貼り付けると、URLは有効です。

これがこれに対する簡単な解決策であることは知っていますが、私の人生でそれを機能させることはできません。どんな助けでも感謝します。

4

1 に答える 1

0

問題は、URL が適切な JSON 応答を返さないことです。書式設定されたコード ブロックに JSON を含む HTML 応答を返します。そのため、コピーと貼り付けは機能しますが、コードはそれをラップして壊れるすべての HTML を認識します (無効であるため)。

これが制御する API である場合はContent-type、PHP スクリプト ( ) にヘッダーを設定しheader('Content-type: application/json')、HTML コードをまったく使用せずに JSON 文字列のみを返す必要があります。

そうでない場合は、URL をフェッチし、応答からすべての HTML を削除して、残りの JSON を解析できるようにすることをお勧めします。これを行うには、DOM 解析ライブラリが役立つ場合があります。

編集:応答は現在(またはすでに)正しいようであり、http://jsonlint.comで正常に検証されます。

于 2012-11-15T21:29:35.127 に答える