Javascript 在数组中获取单个JSON对象
我有一些json文件的数组结构如下:Javascript 在数组中获取单个JSON对象,javascript,json,Javascript,Json,我有一些json文件的数组结构如下: { "00_85_03.g1t": { "hash": "a05dc5727ee4a3d80202e7ce5c89168d", "file_name": "00_85_03.g1t", "version": "0", "cacheclear
{
"00_85_03.g1t": {
"hash": "a05dc5727ee4a3d80202e7ce5c89168d",
"file_name": "00_85_03.g1t",
"version": "0",
"cacheclear_flag": 1,
"bundle_flag": 0,
"directory": "0000",
"firstflag": 0,
"size": 476380
},
"00_85_03_36th.g1t": {
"hash": "5d28224aa1f594c249da69a1976cc5b6",
"file_name": "00_85_03_36th.g1t",
"version": "0",
"cacheclear_flag": 1,
"bundle_flag": 0,
"directory": "0000",
"firstflag": 0,
"size": 831960
},
"00_85_03_all_battle.g1t": {
"hash": "ca654ed300998d97e96480cabcac4035",
"file_name": "00_85_03_all_battle.g1t",
"version": "0",
"cacheclear_flag": 1,
"bundle_flag": 0,
"directory": "0000",
"firstflag": 0,
"size": 700872
}
}
我想创建一个包含所有“散列”值的单个变量。我正在使用谷歌应用程序脚本将它们插入电子表格。到目前为止,我能够得到一个键列表,但很难从中提取“散列”值。我确信这比我现在做的要容易,但只是学习JS。这里是我能够将其作为结果输出的范围
function chunkArray(myArray, chunk_size){
var index = 0;
var arrayLength = myArray.length;
var tempArray = [];
for (index = 0; index < arrayLength; index += chunk_size) {
myChunk = myArray.slice(index, index+chunk_size);
// Do something if you want with the group
tempArray.push(myChunk);
}
return tempArray;
}
function flatten(arrayOfArrays){
return [].concat.apply([], arrayOfArrays);
}
function showPickerJP() {
var rows = [Object.keys(json)];
var toRows = rows[0].length;
var rowsflate = flatten(rows);
var rowstocols = chunkArray(rowsflate, 1);
var results = [];
for(var i=0; i<toRows; i++){
results[i] = (rowstocols[i]);
}
var hashvalues = chunkArray(results,1);
Logger.log(hashvalues);
}
函数chunkArray(myArray,chunk\u size){
var指数=0;
var arrayllength=myArray.length;
var tempArray=[];
对于(索引=0;索引 对于(var i=0;i要从json数据中获取所有hash
值,可以使用map,如下所示:
const hashList = Object.values(json).map(item => item.hash);
const json={
“00_85_03.g1t”:{
“哈希”:“a05dc5727ee4a3d80202e7ce5c89168d”,
“文件名”:“00_85_03.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:476380
},
“00_85_03_36 th.g1t”:{
“哈希”:“5d28224aa1f594c249da69a1976cc5b6”,
“文件名”:“00_85_03_36th.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:831960
},
“00_85_03_all_battle.g1t”:{
“哈希”:“CA654ED300998D97E96480CABCA035”,
“文件名”:“00_85_03_all_battle.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:700872
}
};
const hashList=Object.values(json.map)(item=>item.hash);
console.log({hashList})
要从可以使用map的json数据中获取所有哈希值,请执行以下操作:
const hashList = Object.values(json).map(item => item.hash);
const json={
“00_85_03.g1t”:{
“哈希”:“a05dc5727ee4a3d80202e7ce5c89168d”,
“文件名”:“00_85_03.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:476380
},
“00_85_03_36 th.g1t”:{
“哈希”:“5d28224aa1f594c249da69a1976cc5b6”,
“文件名”:“00_85_03_36th.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:831960
},
“00_85_03_all_battle.g1t”:{
“哈希”:“CA654ED300998D97E96480CABCA035”,
“文件名”:“00_85_03_all_battle.g1t”,
“版本”:“0”,
“cacheclear_标志”:1,
“bundle_标志”:0,
“目录”:“0000”,
“firstflag”:0,
“尺寸”:700872
}
};
const hashList=Object.values(json.map)(item=>item.hash);
console.log({hashList})
您到底需要从数据中得到什么?数组不是用[]定义的吗?Object.values(json).map(x=>x.hash)
?或者Array.from(Object.values(json),x=>x.hash)
您需要从数据中得到什么?数组不是用[]定义的吗?Object.values(json).map(x=>x.hash)
?或Array.from(Object.values(json),x=>x.hash)