在javascript中解析json对象以获取键和值
我有一个对象,需要解析下面的数据在javascript中解析json对象以获取键和值,javascript,json,object,Javascript,Json,Object,我有一个对象,需要解析下面的数据 var data= [{"obj1":"2122"},{"obj2":"123"}] 获取javascript中的键和值。我希望使用: var obj = JSON.parse(data); for(var prop in data) { if(data.hasOwnProperty(prop)) console.log(prop); } 在console中获得的值为 Object {obj1: "2122"} Object {obj2: "123"
var data= [{"obj1":"2122"},{"obj2":"123"}]
获取javascript中的键和值。我希望使用:
var obj = JSON.parse(data);
for(var prop in data) {
if(data.hasOwnProperty(prop))
console.log(prop);
}
在console中获得的值为
Object {obj1: "2122"}
Object {obj2: "123"}
但我需要单独访问这些值,而不是作为对象。如何从该对象检索它?JSON.parse用于将JSONString解析为Javascript对象 您不能直接在JavaScript对象上使用它 无论如何,您的对象是一个数组,因此您可以执行以下操作:
var arr = JSON.parse(data);
arr.forEach(function(elementObject){
var keys = Object.keys(elementObject);
keys.forEach(function(key){
console.log(key + ":"+elementObject[key]);
})
});
干杯
使用数组#映射
并在回调
中提取对象的键
。使用数组#forEach
var数据=[{
“obj1”:“2122”
}, {
“obj2”:“123”
}];
var op=data.map(函数(项){
变量键=对象键(项);
var-arr=[];
键。forEach(功能(键){
arr.push(项目[关键]);
});
返回arr;
});
控制台日志(op)代码>
首先:
var data = [{"obj1":"2122"},{"obj2":"123"}]
此行将创建一个数组。无需:
var obj = JSON.parse(data);
如果您想通过键/值进行访问,则需要重新构造数据
var data = [{key:"obj1",value:"2122"},{key:"obj2", value:"123"}];
for( var index in data)
{
var item = data[index];
console.log(item.key);
console.log(item.value);
}
或者,您可以映射:
var keys = [{
"obj1": "2122"
}, {
"obj2": "123"
}];
var op = data.map(function(item) {
var keys = Object.keys(item);
var arr = [];
keys.forEach(function(key) {
console.log(key);
arr.push(key);
});
return arr;
});
var i=0;
for(var i=0;i<op.length;i++)
{
console.log(i);
var pair=data[i];
console.log(pair);
var key=op[i][0];
console.log(key);
var value=pair[key];
console.log(value);
}
var键=[{
“obj1”:“2122”
}, {
“obj2”:“123”
}];
var op=data.map(函数(项){
变量键=对象键(项);
var-arr=[];
键。forEach(功能(键){
控制台日志(键);
arr.push(按键);
});
返回arr;
});
var i=0;
对于(var i=0;i请使用$尝试此代码。每个函数都可以解析对象
var data=[{“obj1”:“2122”},{“obj2”:“123”}]
$。每个(数据、函数(键、值){
$。每个(val,函数(k,v){
log('key='+k);
console.log('value='+v);
警报('key='+k+',value='+v);
});
});
试试这个
var obj = JSON.parse('[{"obj1":2122},{"obj2":123}]');
obj.forEach(function(ElementObject){
var keys=Object.keys(ElementObject);
console.log(keys[0],ElementObject[Object.keys(ElementObject)]);
}
);
在这里,您将获得数组“values”中的值
var data=[{“obj1”:“2122”},{“obj2”:“123”}]
data=JSON.stringify(数据);
var值=[];
parse(数据、函数(键、值){
if(类型(值)!=“对象”){
push({[key]:value});
//value.push(value);//如果需要值数组
}
})
显示预期的输出!显示您想要的预期方式和输出?如果您想像按键搜索一样进行解析,可以在搜索对象之前使用loadash。尝试使用下划线函数,帖子声称有[JavaScript]object.JSON.parse接受JSON文本。一个有用的开始是省略不正确的JSON.parse用法-编辑帖子以删除不正确的信息。你确定数组中的对象应该有不同的键吗?如果这些值的类型相同,你应该使用相同的键名,这样会简单得多。“字符串到JSON”-不,它用于将JSON字符串(一个遵循JavaScript对象表示法的字符串)转换为JavaScript对象。JavaScript对象!=JSON@Rajeshwar不客气,所以请将问题标记为已解决,T J您是对的!编辑:更新以回答问题而不更改数据结构。