【问题标题】:Retrieving the property name as a string jSon jQuery将属性名称作为字符串 json jQuery 检索
【发布时间】:2013-07-07 11:06:22
【问题描述】:
    var days = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");

    $.each(data, function (i, object) {    
        $.each(object, function (property, value) {
            var propertyString = getPropertyAsString(property);
            if ($.inArray(propertyString, days) != -1)
            {
                // do something
            }
            count++;
        });
    });

上面是我用来使用 jQuery 从 json 中检索数据的代码存根。我想要做的是获取“property 名称”(我在嵌套的getPropertyAsString() 中使用getPropertyAsString() 将其标记为字符串,然后我想检查此“属性名称”是否存在于天数组中或不是。

更具体地说,下面是json:

[{
    "STID": 0,
    "VRNO": 0,
    "VRNOA": 0,
    "VRDATE": "\/Date(-62135596800000)\/",
    "PARTY_ID": null,
    "BILTY_NO": null,
    "BILTY_DATE": "\/Date(-62135596800000)\/",
    "RECEIVED_BY": null,
    "TRANSPORTER_ID": null,
    "REMARKS": null,
    "Year_srno": 0,
    "ETYPE": null,
    "NAMOUNT": 0,
    "UID": 0,
    "ORDER_VRNO": 0,
    "FREIGHT": 0,
    "PARTY_ID_CO": null,
    "SALEBILLNO": 0,
    "DISCP": 0,
    "DISCOUNT": 0,
    "CURRENCY_ID": 0,
    "EXPENSE": 0,
    "COMPANY_ID": 0,
    "VEHICLE_ID": null,
    "PARTY_NAME": null,
    "isEditted": false,
    "isDeleted": false,
    "isNew": false,
    "Mon": "0",
    "Tue": "0",
    "Wed": "0",
    "Thu": "500",
    "Fri": "0",
    "Sat": "0",
    "Sun": "0"
}]

我要做的是在最后获取工作日的值,即周一、周二、周三、周四、周五、周六、周日

我一直在尝试,但找不到方法。如果有解决方法,请建议我。

【问题讨论】:

  • 另外,当我尝试Console.log(property) 时,该名称确实显示在控制台中,但我无法在上面的代码中使用它,我也尝试过property.toString() 但无法获得预期结果:(

标签: jquery json


【解决方案1】:

您示例中的property 变量已经是一个字符串,您不需要对其进行转换。

实际的问题是对象中的工作日名称是大写的(“Mon”、“Tue”),但 days 数组的名称是小写的(“mon”、“tue”)。如果days 是您可以编辑的,只需更改它以匹配对象键,或将.toLowerCase() 与您要比较的键一起使用。

if ($.inArray(property.toLowerCase(), days) != -1)

演示:http://jsfiddle.net/PHDPp/

【讨论】:

    【解决方案2】:

    如果我以正确的方式解决了您的问题,您可以获取天数并像这样记录它们:

    for(i in days){
        console.log(days[i]+': '+yourJson[i])
    }
    

    如果我记错了请告诉我

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多