首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex对Json数据执行循环。

使用regex对Json数据执行循环。
EN

Stack Overflow用户
提问于 2013-10-24 16:37:37
回答 2查看 247关注 0票数 0

我想循环json数据,但是选择产品,困难在于我想要选择的对象遵循模式产品-*。我想找到一种允许以下内容的代码:

代码语言:javascript
复制
$.each(data.products, function(i, product) {
   console.log(product.products_name);
});

实际数据JSON是:

代码语言:javascript
复制
{
    "orders_id": "411",
    "customers_name": "Larez",
    "product-1": {
        "product_name": "Walt",
        "product_type": "Poster",
        "product_quantity": "100",
        "product_size": "1/4 Pliego",
        "product_price": "100.00"
    },
    "product-2": {
        "product_name": "Penny",
        "product_type": "Poster",
        "product_quantity": "15",
        "product_size": "1/4 Pliego",
        "product_price": "15.00"
    },
    "product-3": {
        "product_name": "Carol",
        "product_type": "Poster",
        "product_quantity": "50",
        "product_size": "1/4 Pliego",
        "product_price": "50.00"
    },
    "product-4": {
        "product_name": "Julia",
        "product_type": "Poster",
        "product_quantity": "100",
        "product_size": "1/4 Pliego",
        "product_price": "100.00"
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-24 16:44:21

不如:

代码语言:javascript
复制
var data = { /* your data */ };
var product,
    i = 1;
while(product = data['product-' + i++]) {
    console.log(product.products_name);
}
票数 4
EN

Stack Overflow用户

发布于 2013-10-24 16:52:53

您可以使用像underscore.js这样的库,并执行如下操作来获得产品密钥的数组。

代码语言:javascript
复制
r = /product-\d+/
product_keys = _.filter(_.keys(json), function(k) { return r.test(k) });

然后,您可以直接使用产品密钥进行迭代。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19571689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档