处理2D数组中的json响应

时间:2014-10-01 11:38:35

标签: javascript jquery ajax json

我遇到一些奇怪的情况,即JSON响应是 -

{"Id":1,"service_name":"asdf","service_charge":11.32,"service_type":null,"service_comission":14.65,"service_desc":"","after_service_charge":23.55,"service_duration":60,"after_service_comission":11.22,"service_frequency":58,"tax_rate":15}

条件 - 在我的表单中 - #form-service-values我输入的字段与响应中的字段相同。现在我想从数据名称匹配的JSON中获取值。 对于前 -

data.service_name以值asdf

记录我

但是现在这里当名字是输入字段的动态时,它正在向我发出 - [object Object].service_name

以下是我在ajax中处理它的方法 -

 function getDescService(Idservice) {
        $.ajax({
            url: '/Service/GetServiceDescriptions/',
            type: 'post',
            data: { Id: Idservice },
            success: function (data) {
                $('#form-service-values input[type="text"]').each(function () {
                    var name = $(this).attr('name');
                    $(this).val(data + "." + name);
                })

            }
        });
    }

我正在尝试以inputs的名称与JSON响应中的名称相同的形式获取此JSON响应。

我只想访问JSON个数据字段。 我该如何尝试?

1 个答案:

答案 0 :(得分:1)

在javascript中,对象可以像data.name一样进行访问,其中name是键,或者类似于data["name"]

所以你应该这样做

$(this).val(data[name]);

而不是这个

$(this).val(data + "." + name);

第一个是检索存储在对象name中的键data中的值,而第二个是仅写入文本。