当前位置: 首页 > 面试题库 >

JSON到JavaScript数组

越运锋
2023-03-14
问题内容

我在处理JavaScript中的JSON数据时遇到问题,特别是在将数据用作数组以及访问和迭代各个值方面。JSON文件的结构如下:

{
  "head": {
    "vars": [ "place" , "lat" , "long" , "page" ]
  } ,
  "results": {
    "bindings": [
      {
        "place": { "type": "literal" , "value": "Building A" } ,
        "lat": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "10.3456" } ,
        "long": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "-1.2345" } ,
        "page": { "type": "uri" , "value": "http://www.example.com/a.html" }
      } ,
      {
        "place": { "type": "literal" , "value": "Building B" } ,
        "lat": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "11.3456" } ,
        "long": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "-2.2345" } ,
        "page": { "type": "uri" , "value": "http://www.example.com/b.html" }
      } ,
      {
        "place": { "type": "literal" , "value": "Building C" } ,
        "lat": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "12.3456" } ,
        "long": { "datatype": "http://www.w3.org/2001/XMLSchema#float" , "type": "typed-literal" , "value": "-3.2345" } ,
        "page": { "type": "uri" , "value": "http://www.example.com/c.html" }
      }
    ]
  }
}

我希望能够将其转换为如下所示的JavaScript数组,以便可以迭代它并按顺序提取每个位置的值:

var locations = [
        ['Building A',10.3456,-1.2345,'http://www.example.com/a.html'],
        ['Building B',11.3456,-2.2345,'http://www.example.com/b.html'],
        ['Building C',12.3456,-3.2345,'http://www.example.com/c.html']
];

有人对如何实现这一目标有任何建议吗?我已经尝试了以下方法,但是它在JSON中选择了“类型”,而不仅仅是值:

$.each(JSONObject.results.bindings, function(i, object) {
    $.each(object, function(property, object) {
        $.each(object, function(property, value) {
              value;
        });
    });
});

任何帮助,建议,建议或更正将不胜感激。


问题答案:
var locations = [];
$.each(JSONObject.results.bindings, function(i, obj) {
    locations.push([obj.place.value, obj.lat.value, obj.long.value, obj.page.value]);
});

迭代通过bindings,并把该属性place.valuelat.valuelong.valuepage.value从每个元素到一个数组,再加入此数组locations

您当前的代码使用和object两次property,从而覆盖这些变量。您应该在嵌套循环中使用唯一的变量名称,以便能够区分它们。



 类似资料:
  • 问题内容: 是否可以通过json_encode对这个php数组进行JSON转换?因为这个php数组被调用,当我做.. 在JavaScript中,它给了我错误。我想知道JSON可以/不能做什么类型的php数组是否有限制。 问题答案: 首先,您需要在安装了PHP的Apache服务器上的一个PHP文件。制作如下文件: 然后是您的JavaScript(在此示例中,我使用jQuery): 这应该是开始将PH

  • 问题内容: 如何将JavaScript关联数组转换为JSON? 我尝试了以下方法: 问题答案: 数组应仅包含带有数字键的条目(数组也是对象,但您实际上不应混用)。 如果将数组转换为JSON,则该过程将仅考虑数值属性。其他属性只是被忽略,这就是为什么您得到一个空数组的原因。如果您看一下数组的,也许这更加明显: 通常被称为“关联数组”的实际上只是JS中的一个对象: 可以通过数组符号或点符号(如果键不是

  • 问题内容: 如何将JSON数据从浏览器中的Javascript发送到服务器,并由PHP在其中进行解析? 问题答案: 我在这里获得了很多信息,所以我想发布我发现的解决方案。 问题: 从浏览器上的Javascript获取JSON数据到服务器,然后让PHP成功解析它。 环境: Windows上的浏览器(Firefox)中的Javascript。LAMP服务器作为远程服务器:Ubuntu上的PHP 5.3

  • 问题内容: 除了循环查找JSON中的数据以外,还有其他更好的方法吗?用于编辑和删除。 数据被安排为地图列表。喜欢: 问题答案: (您不是在搜索“ JSON”,而是在数组中搜索-JSON字符串已经反序列化为对象图,在本例中为数组。) 一些选项: 使用对象而不是数组 如果您控制着这个东西的产生,它 一定 是一个数组吗?因为如果没有的话,有一种简单得多的方法。 说这是您的原始数据: 您可以改为执行以下操

  • 我试图使用一个代码,将数据从一个mySQL数据库绑定到一个变量的数据,把所有产生的$x到一个PHP数组,最后将其转换为JSON格式。然后,我将JSON转换为javascript来处理来自数据库的数据。 请查看我的代码: 我的问题是,为什么页面将其显示为输出,而不将数据传输到阵列 "准备("SELECT x从数据")) { $stmt-

  • 我试图解封以下Json数组响应到RESTTemplate中的POJO集合。 我创建了一个相应的Java Pojo类 } 我使用的是RestTemplate,但我有一个带有空属性值的客户端数组。