Javascript 如何使用Java脚本打印JSON文件
我想得到所有的“业务单元id”并存储在一个变量中。为此,我需要获得所有“业务部门id”。所以我试着用下面的代码打印所有的id,但是我无法打印Javascript 如何使用Java脚本打印JSON文件,javascript,json,Javascript,Json,我想得到所有的“业务单元id”并存储在一个变量中。为此,我需要获得所有“业务部门id”。所以我试着用下面的代码打印所有的id,但是我无法打印 var user_business_data =[ { "user_id":"5db3e3b1", "blog":{ "blog_id":"128c522e" }, "business_units":[ { "busines
var user_business_data =[
{
"user_id":"5db3e3b1",
"blog":{
"blog_id":"128c522e"
},
"business_units":[
{
"business_unit_id":"000396c9",
"viewing":101
},
{
"business_unit_id":"01821e44",
"viewing":102
},
{
"business_unit_id":"02cbcad5",
"viewing":103
}
]
}
]
if(未定义!==user\u business\u data.business\u units&&user\u business\u data.business\u units.length){
对于(var i=0;iuser_business_)数据是一个数组,而不是一个对象。如果要从数组中访问任何对象,必须指定所引用位置的索引。因此,在您的示例中,将其更改为以下内容:
if (undefined !== user_business_data.business_units && user_business_data.business_units.length) {
for(var i=0;i<user_business_data.business_units.length;i++){
var key = user_business_data.business_units[i];
console.log("Key : "+key, "Values : "+user_business_data.business_units[key]);
}
} else {
console.log("Undefined value");
}
if(未定义!==user\u business\u data[0]。业务单位和用户业务单位数据[0]。业务单位。长度){
对于(var i=0;i
var user\u business\u data=[{“user\u id”:“5db3e3b1”,“blog”:{“blog\u id”:“128c522e”},“business\u unit\u id”:“000396c9”,“view”:101},{“business\u unit\u id”:“01821e44”,“view”:102},{“business\u unit id”:“02cbcad5”,“view”:103}]
var单位_id=[];
用户\业务\数据。forEach(函数(用户){
user.business\u units.forEach(功能(业务){
单元id.push(business.business\u单元id);
});
});
console.log(unit_id);
user_business_data
是一个数组,而不是一个对象,因此您需要遍历它或从中读取特定索引
此外,代码中的key
将是一个对象(单个业务单元对象),因此您不能直接打印它,而是需要获取对象中的特定属性
下面是一个简单的演示,从外部数组读取第一个键,然后列出业务部门的所有特定属性。代码可以进一步简化,但这说明了这一点:
var用户\业务\数据=
[{
“用户id”:“5db3e3b1”,
“博客”:{
“博客id”:“128c522e”
},
“业务单位”:[{
“业务单元id”:“000396c9”,
“查看”:101
},
{
“业务单元id”:“01821e44”,
“查看”:102
},
{
“业务单元id”:“02cbcad5”,
“观看”:103
}
]
}]
if(未定义!==用户\业务\数据[0]。业务\单位和用户\业务\数据[0]。业务\单位.length){
对于(var i=0;i }
如果只想打印业务部门ID,则可以执行以下操作:
var用户\业务\数据=
[
{
“用户id”:“5db3e3b1”,
“博客”:{
“博客id”:“128c522e”
},
“业务单位”:[
{
“业务单元id”:“000396c9”,
“查看”:101
},
{
“业务单元id”:“01821e44”,
“查看”:102
},
{
“业务单元id”:“02cbcad5”,
“观看”:103
}
]
}
]
对于(var i=0;i这是因为user\u business\u data
是一个数组,而不是一个对象,但您可以像user\u business\u data.business\u units
那样访问它,而不是user\u business\u data[0]。business\u units
var user_business_data=[{“user_id”:“5db3e3b1”,“blog”:{“blog_id”:“128c522e”},“business_unit”:[{“business_unit_id”:“000396c9”,“viewing”:101},{“business_unit id”:“01821e44”,“viewing”:102},{“business_unit id”:“02cbcad5”,“viewing”:103}];
//两个方法都给出相同的结果,但第二个方法检查空值。
var ids1=user\u business\u data[0]。business\u units.map(x=>x.business\u unit\u id)
log('方法1:',ids1);
//&&检查空值,有点像if语句。
var data=user\u business\u data.length&&user\u business\u data[0]
var单位=数据和数据。业务单位
var ids2=units&&units.length&&units.map(x=>x.business\u unit\u id)
console.log('Method 2:',ids2)
但是,键
将是一个对象,所以打印时没有用除了语法错误,是的。为什么不做一个,这很简单。这样其他人就可以更容易地看到您的解决方案是好的,并且您可以在发布之前测试您自己的代码:-)
if (undefined !== user_business_data[0].business_units && user_business_data[0].business_units.length) {
for(var i=0;i<user_business_data[0].business_units.length;i++){
var key = user_business_data[0].business_units[i]. business_unit_id;
console.log("Key : "+key, "Values : "+user_business_data[0].business_units[key]);
}
} else {
console.log("Undefined value");
}