1

AngularJSのhttp()メソッドを使用して、コンピューターにあるJSONファイルを読み込みます。ファイルの内容は次のとおりです。

{
  "topics": [
    {
      "canonical": "Nebraska Football",
      "alias": "NEB",
      "score": 45,
    },
    {
      "canonical": "Ohio State Football",
      "alias": "OSU",
      "score": 10,
    }
  ]
}

ファイル(example.jsonという名前)をロードすると、FirefoxとSafariの両方を使用しているときに「。」というエラーメッセージが表示されますError: JSON.parse: expected double-quoted property name。Chromeでは(デフォルトのセキュリティのおかげで予想どおり)、単純に機能しません。

JSONは元々Firefoxで正常に読み込まれていましたが、ブラウザーの更新後に機能しなくなりました。

私は次のようにJSONを呼び出しています:

$http.get("json/example.json").success(function(data) {
    console.log(data);
});

PythonのSimpleHTTPServerを使用してサイトを実行しようとしましたが、違いはありませんでした。ここで何がうまくいかないかについて誰かが推測を持っているなら、私は本当に助けていただければ幸いです。ありがとう!

4

5 に答える 5

3

無効なJson試行

{
    "topics": [
    {
        "canonical": "Nebraska Football",
        "alias": "NEB",
        "score": 45
    },
    {
        "canonical": "Ohio State Football",
        "alias": "OSU",
        "score": 10
    }
]
}
于 2012-09-28T21:01:20.097 に答える
1

jsonlint.comを介してJSONを実行すると、エラーがになり},{ます。そこから見上げると、そこに,あるべきではない末尾のが表示されます。JSONはおそらく次のようになります。

{
  "topics": [
    {
      "canonical": "Nebraska Football",
      "alias": "NEB",
      "score": 45
    },
    {
      "canonical": "Ohio State Football",
      "alias": "OSU",
      "score": 10
    }
  ]
}
于 2012-09-28T21:01:48.577 に答える
0

変更されたコード:最後の項目から「、」を削除すると、問題が解決する場合があります

{
  "topics": [
    {
      "canonical": "Nebraska Football",
      "alias": "NEB",
      "score": 45
    },
    {
      "canonical": "Ohio State Football",
      "alias": "OSU",
      "score": 10
    }
  ]
}
于 2012-09-28T21:02:06.353 に答える
0

,問題は、JSONに余分なが含まれていることです。次のように変更します。

{
  "topics": [
    {
      "canonical": "Nebraska Football",
      "alias": "NEB",
      "score": 45
    },
    {
      "canonical": "Ohio State Football",
      "alias": "OSU",
      "score": 10
    }
  ]
}
于 2012-09-28T21:02:11.827 に答える
0

JSON Lintは、JSONを検証するのに適した場所です。,各配列要素の最終値の後のコンマを削除する必要があるということです。だから"score":45,_"score":45

于 2012-09-28T21:03:38.023 に答える