0

この問題があります: .json ファイルから自分のサイトにデータを読み込もうとしましたが、タイトルの特殊文字 (Ó、Í、É、スペース) に問題があります。.HTML ファイルしか変更できません。

これは .html です: http://www.lukcian.x10.mx/json5.html

これは .json です: http://www.lukcian.x10.mx/json/bibliotecas.json

ありがとう

これは例です:

.json:

{
    "Bibliotecas": [
        {
            "BIBLIOTECA": "Biblioteca General de Navarra ",
            "DIRECCIÓN ": "Plaza de San Francisco",
            "COD. POSTAL": 31001,
            "POBLACIÓN": "Pamplona",
            "TELÉFONO": 848427797,
             .....................

.html:

<!DOCTYPE HTML> 
<html>
    <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

    <title>JSON multiple zombies
    </title> 

    <script src="HostFiles/jquery.js"></script>
    <link href="reset.css" rel="stylesheet" type="text/css" media="screen">




    <script>


        $(document).ready(function() {
                 $.getJSON('json/bibliotecas.json', function(json) { 

                 $.each(json.Bibliotecas, function () {

                 $('<article class="json"></article>').append(

                 '<p> ' + this.BIBLIOTECA + '</p>'  + 
                 '<p> ' + this["DIRECCIÓN "] + '</p>' + 
                 '<p> ' + this.POBLACIÓN + '</p>' + 
                 '<p> ' + this.TELÉFONO + '</p>'  + 


                 '</br></br>'
                 ).appendTo('body');


    });          

  });

});





    </script>





</head> 
<body> 

</body>
    </html>

結果:

Biblioteca General de Navarra

undefined

undefined

undefined
4

1 に答える 1

0

文字エンコーディングに問題があります。また、jQuery.ajax で適切な文字エンコーディングを設定しようとしましたが、いいえ。

Dev HTTP Client plugin for Chrome を使用して JSON ソースを確認すると、何が返されているかがわかります。

考えられる解決策は次の 2 つです。

  1. HTMLエンティティを使用するように、JSONソースを正しくエンコードします(このソリューションを強くお勧めします)
  2. JSONソースの正しいコンテンツタイプを送信します。おそらくUTF-8です
于 2012-10-31T14:14:28.260 に答える