Javascript-如何读取json文件中的列并将其保存在Javascript数组中

Javascript - How can I read column in json file and save it in javascript array

本文关键字:保存 数组 Javascript 存在 Javascript- 何读取 读取 文件 json      更新时间:2023-09-26

我制作了一个json文件,其内容如下:

[{"pdis": "pdistance", "time": "time", "lon": "longitude", "tdis": "totaldistance", "secsp": "sectionspray", "lat": "latitude"}, {"pdis": "0.000555", "time": "10:01:43", "lon": "126.952741667", "tdis": "0.000555", "secsp": "3343.0", "lat": "37.4805016667"}, {"pdis": "0.027396", "time": "10:01:57", "lon": "126.952753333", "tdis": "0.027951", "secsp": "3320.0", "lat": "37.4807483333"},~~~,{"~~~~~"}]

我想读取它们并将其保存在javascript数组中为:

pdis       time        lon            tds        secsp     lat
0.000555   10:01:43    126.95274      0.000555   3343.0    37.4805
0.027396   10:01:57    126.95275      0.02795    3320.0    37.4807

我该怎么做
请给我建议或推荐一些网站或页面。

完全匹配的代码样本可以在这里找到

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

JSON.parse('{"p": 5}', function(k, v) {
  if (k === '') { return v; } // if topmost value, return it,
  return v * 2;               // else return v * 2.
});                           // { p: 10 }

试试这个。

var jsonString = '[{ "pdis": "pdistance", "time": "time", "lon": "longitude", "tdis": "totaldistance", "secsp": "sectionspray", "lat": "latitude" }, { "pdis": "0.000555", "time": "10:01:43", "lon": "126.952741667", "tdis": "0.000555", "secsp": "3343.0", "lat": "37.4805016667" }, { "pdis": "0.027396", "time": "10:01:57", "lon": "126.952753333", "tdis": "0.027951", "secsp": "3320.0", "lat": "37.4807483333" }]';
var result = JSON.parse(jsonString).map(function(obj, index) {
  var arr = Object.keys(obj);
  if (index > 0) {
    arr = arr.map(function(key) {
      return obj[key];
    });
  }
  return arr;
});
document.body.innerHTML = JSON.stringify(result);

检查这个jsfiddle,它下载了带有内容的文件

pdis time lon tdis secsp lat
pdistance time longitude totaldistance sectionspray latitude 
0.000555 10:01:43 126.952741667 0.000555 3343.0 37.4805016667 
0.027396 10:01:57 126.952753333 0.027951 3320.0 37.4807483333 

它通常采用json数组并转换为表格式然后将其下载为文件

解析JSON字符串后,可以使用以下方法构建包含所需部分的数组。

var array = [{ "pdis": "pdistance", "time": "time", "lon": "longitude", "tdis": "totaldistance", "secsp": "sectionspray", "lat": "latitude" }, { "pdis": "0.000555", "time": "10:01:43", "lon": "126.952741667", "tdis": "0.000555", "secsp": "3343.0", "lat": "37.4805016667" }, { "pdis": "0.027396", "time": "10:01:57", "lon": "126.952753333", "tdis": "0.027951", "secsp": "3320.0", "lat": "37.4807483333" }],
    keys = Object.keys(array[0]),
    result = array.map(function (a) {
        return keys.map(function (k) {
            return a[k];
        });
    });
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');