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 设置适当的字符编码,但是不行。

如果您使用适用于 Chrome 的 Dev HTTP Client 插件检查JSON 源代码,您将看到返回的内容。

两种可能的解决方案:

  1. 正确编码 JSON 源,以便它使用 HTML 实体(我强烈建议使用此解决方案)
  2. 为 JSON 源发送正确的内容类型,很可能是 UTF-8
于 2012-10-31T14:14:28.260 回答