在选项中解析JSON响应值

时间:2018-06-07 07:19:57

标签: javascript jquery json ajax

我正在处理我的一个应用程序中的JSON响应。我有价值并发送到每个循环。 代码

function ajax_to_get_products(value, row_num) {
            $.ajax({
                'url': "{% url 'get_specific_products' %}",
                'type': "GET",
                'data': {"source": value},
                'async': false,
                'success': function (data) {
                    if (data == "empty") {
                        $("#products-".concat(row_num.toString())).html("");
                        $("#products-".concat(row_num.toString())).append($('<option/>').attr("value", "None").text("-Select-").prop('selected', true).prop('disabled', true));
                    } else {
                        result = JSON.parse(data);

                        $("#products-".concat(row_num.toString())).html("");
                        $("#products-".concat(row_num.toString())).append($('<option/>').attr("value", "None").text("-Select-"));
                        $.each(result, function (i, option) {
                            var qty = option.jsonData.quantity.substring(option.items.quantity.lastIndexOf("[")+1,option.items.quantity.lastIndexOf("]"));
                            $("#products-".concat(row_num.toString())).append($('<option/>').attr({value: option.items.id, 'data-qty': qty}).text(option.items.reference_number));
                        });

                    }
                }
            });
        }

输出

{"items": [{"description": "BLOND SIGNATURE LUMINOSITY ShampooO 250ML RETAIL", "weight": 250.0, "barcode": "366022675"]}

我需要选择此结果。

$.each(result, function (i, option) {
                            var qty = option.jsonData.quantity.substring(option.items.quantity.lastIndexOf("[")+1,option.items.quantity.lastIndexOf("]"));
                            $("#products-".concat(row_num.toString())).append($('<option/>').attr({value: option.items.id, 'data-qty': qty}).text(option.items.reference_number));
                        });

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
var jsonData = [{"item":"me","age":"30"},{"item":"you","age":"25"}];

for(var i in jsonData){
    var key = i;
    var val = jsonData[i];
    for(var j in val){
        var sub_key = j;
        var sub_val = val[j];
        console.log(sub_key);
    }
}
&#13;
&#13;
&#13;

您可以使用上述内容。

答案 1 :(得分:0)

这是答案。享受

 function ajax_to_get_products(value, row_num) {
            $.ajax({
                'url': "{% url 'get_specific_products' %}",
                'type': "GET",
                'data': {"source": value},
                'async': false,
                'success': function (data) {
                    if (data == "empty") {
                        $("#products-".concat(row_num.toString())).html("");
                        $("#products-".concat(row_num.toString())).append($('<option/>').attr("value", "None").text("-Select-").prop('selected', true).prop('disabled', true));
                    } else {
                        var jsonData = JSON.parse(data);

                        $("#products-".concat(row_num.toString())).html("");
                        $("#products-".concat(row_num.toString())).append($('<option/>').attr("value", "None").text("-Select-"));
                        <!--$.each(result, function (i, option) {-->
                        for (var i = 0; i < jsonData.items.length; i++) {
                            var counter = jsonData.items[i];

                            var qty = counter.quantity;
                            $("#products-".concat(row_num.toString())).append($('<option/>').attr({value: counter.id, 'data-qty': qty}).text(counter.reference_number));
                        <!--});-->

                        }
                    }
                }
            });
        }