我希望能够从三个不同的下拉菜单(日,月,年)中获取用户日期输入,并使用我通过将数据库导出到JSON文件来创建的JSON文件来撤回数据匹配用户输入的日期。
以下是我的JSON文件中的记录示例:
ex.getStackTrace()
如果用户输入与JSON数组中的日期匹配,那么我希望显示艺术家姓名和歌曲标题。我该怎么做呢?我之前从未使用过JSON。
提前感谢您的帮助!
答案 0 :(得分:0)
让我们假设obj为您的JSON数据。
var output = [];
var searchField = "startDate";
var searchVal = year+"-"+month+"-"+day;
for (var i=0 ; i < obj.list.length ; i++)
{
if (obj.list[i][searchField] == searchVal) {
output.push(obj.list[i]["artistName"] + "," + obj.list[i]["songTitle"]);
}
}
答案 1 :(得分:0)
你说&#34; JSON&#34;,但你的帖子包含看似原始的javascript对象。 JSON数据只是一个字符串,然后可以转换为对象。
另外,您希望使用filter来选择感兴趣的艺术家。
var userDate = "1995-01-14";
var itemString = '[{"id":"1","artistName":"REDNEX","songTitle":"COTTON EYE JOE", "startDate":"1995-01-14"}]'
var items = JSON.parse(itemString);
var filtered = items.filter(x => x.startDate === userDate);
for (var i = 0; i < filtered.length; ++i)
console.log(filtered[i].artistName + ": " + filtered[i].songTitle);
&#13;
答案 2 :(得分:0)
您可以使用filter
功能
data = {"items": [
{"id":"1","artistName":"REDNEX","songTitle":"COTTON EYE JOE","startDate":"1995-01-14"},
]};
function getArtistByDate(date) {
items = data["items"];
return items.filter(
function(items){ return items["startDate"] == date }
);
}
console.log(getArtistByDate("1995-01-14"));
console.log(getArtistByDate("1995-01-15"));
答案 3 :(得分:0)
我会使用Lodash的takeWhile():https://lodash.com/docs/4.16.4#takeWhile。 (此外,一旦你开始使用Lodash,你将会找到许多你不能没有的实用功能。)
import numpy as np
from netCDF4 import Dataset
volcgrp = Dataset('file_1.nc', 'r')
var = volcgrp.variables['water_v'][:]
print(var)
newList = var.tolist()
file = open('text.txt', 'w')
file.write('%s\n' % newList)
print("Done")
volcgrp.close()