【问题标题】:How to print json property name? [duplicate]如何打印json属性名称? [复制]
【发布时间】:2015-10-23 04:40:45
【问题描述】:

我有一个以下格式的 json:

{
 "nm_questionario":{"isEmpty":"MSGE1 - Nome do Questionário"},
 "ds_questionario":{"isEmpty":"MSGE1 - Descrição do Questionário"},
 "dt_inicio_vigencia":{"isEmpty":"MSGE1 - Data de Vigência"}
}

如何使用 javascript 打印属性名称?我想检索名称nm_questionariodt_inicio_vigenciads_questionario。已经尝试了很多东西,但都没有成功。

【问题讨论】:

  • “打印”是什么意思?
  • 您会循环属性并打印它们...!?
  • Tried many things already but to no avail. 仅显示一个失败尝试的示例将展示一些努力并获得更好的社区响应。

标签: javascript json


【解决方案1】:

您可以使用var keys = Object.keys(JSON.parse(jsonString)); 获取一组键。请记住,它仅适用于 IE9+。

【讨论】:

  • 就是这个人!它也适用于 Firefox!非常感谢!
  • 是的,当然!我的意思是它不会在 9 之前在 IE 上运行
【解决方案2】:

Object.keys()

var obj = {
 "nm_questionario":{"isEmpty":"MSGE1 - Nome do Questionário"},
 "ds_questionario":{"isEmpty":"MSGE1 - Descrição do Questionário"},
 "dt_inicio_vigencia":{"isEmpty":"MSGE1 - Data de Vigência"}
};
console.log(Object.keys(obj));

【讨论】:

    【解决方案3】:

    如果你想访问属性的名字,你可以像这样遍历它们:

    var object = //put your object here
    for(var key in object) {
        if(object.hasOwnProperty(key)) {
            var property = object[key];
            //do whatever you want with the property here, for example console.log(property)
        }
    }
    

    【讨论】:

    • 已经试过了。但是我在每个循环中只得到整个 json 的一个字母。第一次迭代输出“{”,第二次迭代输出“”,第三次输出“n”,以此类推……
    • object 是 JSON - 表示 JS 对象的字符串 - 还是正确的 JS 对象?如果是JSON,则需要JSON.parse(yourJSONHere)
    【解决方案4】:

    一个简单的循环就可以了。遍历所有索引。如果您想获取内容,请使用object[index]

    var object={"nm_questionario":{"isEmpty":"MSGE1 - Nome do Questionário"},"ds_questionario":{"isEmpty":"MSGE1 - Descrição do Questionário"},"dt_inicio_vigencia":{"isEmpty":"MSGE1 - Data de Vigência"}};
    for(var index in object) { 
        console.log(index);
    }

    【讨论】:

    • 已经试过了。但它只输出键的数量。 (0, 1, 2...)
    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多