我正在从记录器上的数据库中获取一些信息,并将其转换为JSON符号。
但是现在,我不知道如何只读我的专栏的名字。
参见此示例:
http://www.jsoneditoronline.org/?id=1bccb6d9522392f4763d58e24ff4a8e6
我需要读一下GND_AREA,DCR_AREA的名字。
编辑:
有些人在下面给出了一些有用的答案,但我认为我没有正确地解释我想要什么。
我的对象有一个名为"List“的键,因为那个JSON有这样的构造:
我要检索字符串名。不是价值..。
示例:我想让这些字符串在下面,因为这些字符串是我的列名,它们可以根据表进行更改,我搜索我的数据。
GND_AREA,DCR_AREA,DCR_EQUIP等.
P.S:这里的javascript很新鲜
端编辑
我尝试了我在这里找到的所有可能性,但我不知道我的JSON表示法是否正确.
我试着用java脚本来完成这个任务。
最后一个我试过的是这个:
Object.keys(obj).forEach(function (key) {
console.log (obj[key].name)
});
在这里我的绳子:
{
"List": [
{
"GND_AREA": "Redução",
"DCR_AREA": "Alto Forno 1",
"DCR_EQUIP": "AF1-Conjunto de Sopro 01 a 28",
"DCR_TECNCA": "Monitoramento",
"DCR_DCPLNA": "Temperatura",
"COD_POSIC": "61019",
"DCR_POSIC": "OB-F1-RE-ANVE-CJSO-01A05",
"DCR_POSFUN": "Conjunto de Sopro 01-05 do Anel de Vento do Alto Forno 1",
"DCR_PNTINS": "Algaraviz 1",
"DAT_INSP": "23/2/2016 21:28:48",
"VLR_DP_DESVIO": "",
"VLR_LTURA": "450",
"VLR_DMA_DESVIO": "350",
"COD_UNDMED": "°C "
},
{
"GND_AREA": "Redução",
"DCR_AREA": "Alto Forno 1",
"DCR_EQUIP": "AF1-Conjunto de Sopro 01 a 28",
"DCR_TECNCA": "Monitoramento",
"DCR_DCPLNA": "Temperatura",
"COD_POSIC": "61019",
"DCR_POSIC": "OB-F1-RE-ANVE-CJSO-01A05",
"DCR_POSFUN": "Conjunto de Sopro 01-05 do Anel de Vento do Alto Forno 1",
"DCR_PNTINS": "Algaraviz 1",
"DAT_INSP": "24/2/2016 21:37:49",
"VLR_DP_DESVIO": "",
"VLR_LTURA": "140",
"VLR_DMA_DESVIO": "350",
"COD_UNDMED": "°C "
}
]
}
发布于 2016-05-18 20:31:50
这可能有助于解释。将这些函数放在代码中并调用init(),它将在控制台中显示JSON的属性。
function display(obj, lvl) {
var tab = Array(lvl + 1).join("\t");
for (var property in obj) {
var type = typeof obj[property];
if (obj.hasOwnProperty(property)) {
console.log(tab+"'"+property + "' of type "+type+" and value: "+obj[property]);
}
if (type == 'object') {
console.log(tab+"which has the following properties:");
display(obj[property], lvl + 1);
}
}
}
function init() {
var json = '{"List":[{"GND_AREA": "Redução","DCR_AREA": "Alto Forno 1","DCR_EQUIP": "AF1-Conjunto de Sopro 01 a 28","DCR_TECNCA": "Monitoramento","DCR_DCPLNA": "Temperatura","COD_POSIC": "61019","DCR_POSIC": "OB-F1-RE-ANVE-CJSO-01A05","DCR_POSFUN": "Conjunto de Sopro 01-05 do Anel de Vento do Alto Forno 1","DCR_PNTINS": "Algaraviz 1","DAT_INSP": "23/2/2016 21:28:48","VLR_DP_DESVIO": "","VLR_LTURA": "450","VLR_DMA_DESVIO": "350","COD_UNDMED": "°C "},{"GND_AREA": "Redução","DCR_AREA": "Alto Forno 1","DCR_EQUIP": "AF1-Conjunto de Sopro 01 a 28","DCR_TECNCA": "Monitoramento","DCR_DCPLNA": "Temperatura","COD_POSIC": "61019","DCR_POSIC": "OB-F1-RE-ANVE-CJSO-01A05","DCR_POSFUN": "Conjunto de Sopro 01-05 do Anel de Vento do Alto Forno 1","DCR_PNTINS": "Algaraviz 1","DAT_INSP": "24/2/2016 21:37:49","VLR_DP_DESVIO": "","VLR_LTURA": "140","VLR_DMA_DESVIO": "350","COD_UNDMED": "°C "}]}';
var obj = JSON.parse(json);
console.log("My JSON has properties named:");
display(obj, 1);
}
P.S. obj.property
是obj['property']
的句法糖
发布于 2016-05-18 15:32:02
试试这个:工作实例
var t = setToYourString;
t.List.forEach(function(el){
console.log(el.GND_AREA, el.DCR_AREA);
});
您需要对象上的属性,而不是值:
t.List.forEach(function(el){
var obj = el;
for (var prop in el) {
console.log(prop);
}
});
https://jsbin.com/qudeda/6/edit?js,console
在您的代码中,name
不在该对象上,您试图读取对象上的属性的方式需要一个名为name
的键,但它不需要。不过,它确实有List
。
发布于 2016-05-18 15:41:29
假设您将字符串存储在变量jsonString中。然后,您可以解析它并读取所需的属性(在这里,我将信息存储在两个数组中)。
var jsonString = JSON.parse('{"List": [{"GND_AREA": "Redução","DCR_AREA": "Alto Forno 1"},{"GND_AREA": "Aumento","DCR_AREA": "Alto Forno 2"}]}');
var gndAreas = [];
var dcrAreas = [];
for(var i = 0; i < jsonString.List.length; i++){
gndAreas.push(jsonString.List[i].GND_AREA);
dcrAreas .push(jsonString.List[i].DCR_AREA);
}
https://stackoverflow.com/questions/37311617
复制