【问题标题】:How to put JSON object into an array如何将 JSON 对象放入数组中
【发布时间】:2021-07-18 11:27:45
【问题描述】:

function initialize(woeid) {
  $.ajax({
    url: "php/getMapping.php",
    type: 'get',
    cache: false,
    success: function(overallArray) {

      console.log(overallArray);
      console.log(overallArray.length);
      for (var i = 0; i < overallArray.length; i++) {
        if (overallArray[i].woeid == woeid) {
          var cityArray = overallArray[i];
          break;
        }
      }
      var cityHashTags = cityArray.hashTags.split(";");


      document.getElementById("cityTitle").innerHTML = cityArray.name;
      document.getElementById("rssLink").href = "php/getRssFeed.php?woeid=" + cityArray.woeid;
      document.getElementById("cityDescription").innerHTML = cityArray.desc;
      document.getElementById("cityPopulation").innerHTML = `Population: ${cityArray.curPop}`;
      document.getElementById("cityCountry").innerHTML = `Country: ${cityArray.country}`;
      document.getElementById("cityLat").innerHTML = `Lat : ${cityArray.lat}`;
      document.getElementById("cityLong").innerHTML = `Long : ${cityArray.lng}`;

      for (var j = 0; j < cityHashTags.length; j++) {
        document.getElementById("cityTwitter").innerHTML += "<a href='https://twitter.com/search?q=" + cityHashTags[j] + "' target='_blank'>#" + cityHashTags[j] + "</a>&nbsp&nbsp";
      }

      if (0 < cityArray.images.length) {
        for (var i = 0; i < cityArray.images.length; i++) {
          document.getElementById("cityPhotos").innerHTML += '<div class="w3-display-container mySlides w3-animate-opacity"><img src="pictures/poi/' + cityArray.images[i].imageFle + '" style="width:100%;height:100%;"><h4>' + cityArray.images[i].name + '</h4><p style="text-align:center;">' + cityArray.images[i].desc + '</p></div>';
        }
      }

      var mapCanvas = document.getElementById('mapCanvas');
      var mapOptions = {
        center: new google.maps.LatLng(cityArray.lat, cityArray.lng),
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        disableDefaultUI: 1
      }
      var map = new google.maps.Map(mapCanvas, mapOptions);
      setMarkers(map, cityArray.poi);
    }
  });
}

我附上了我的 Javascript 代码。数组“overallArray”包含一个 JSON 对象。我附上了阵列的图片。如何将整个数据放入 2 个数组中?两个数组应该基于两个woeid。其余数据属于这两者。我可以对数据进行硬编码,但我正在寻找一种动态分配键和值的方法。我希望这一切都有意义。

【问题讨论】:

  • 你说的“在 2 woeid”是什么意思?你是指两个更高的 woeid 还是只是两个随机的?
  • 如果你看图片,你可以看到一个键 {woeid: 44418, ..... 这应该是数组的第一个元素。这个元素应该有嵌套的数组,比如图像。
  • 当我在 localhost apace 服务器中运行相同的代码时,overallArray 的长度以 2 数组的形式出现。但是当我从我的域帐户运行它时,overallArray 的长度为 14322。我不明白为什么
  • 这些值的每个单词都充当索引。例如 console.log(overallArray[0]);仅打印 - [ console.log(overallArray[1]; 正在打印 - {

标签: javascript php html arrays json


【解决方案1】:

这将像在现有的 Empty / jsonArray 中推送 Json 数组

cityArray [];

let valuesX = {

  mapTypeId: document.getElementsByName('mapTypeId')[i].value,

  cityArray.push(valuesX);

}

var cityArray = JSON.stringify(cityArray);

【讨论】:

    猜你喜欢
    • 2021-08-22
    • 2020-10-20
    • 1970-01-01
    • 2017-07-27
    • 2017-05-13
    • 2019-01-06
    • 2017-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多