需要帮助在Javascript中遍历JSON对象吗

需要帮助在Javascript中遍历JSON对象吗,javascript,wcf,json,Javascript,Wcf,Json,我有调用WCF服务并向客户端返回JSON字符串的代码。下面是我试图用来解析JSON的javascript函数,但无法理解如何遍历它 下面是函数 loadDropDown: function(result, ddl, defaultItem) { var _data = result.get_object(); //Sys.Serialization.JavaScriptSerializer.deserialize(result, true); this.clearDro

我有调用WCF服务并向客户端返回JSON字符串的代码。下面是我试图用来解析JSON的javascript函数,但无法理解如何遍历它

下面是函数

loadDropDown: function(result, ddl, defaultItem) {
    var _data = result.get_object();
    //Sys.Serialization.JavaScriptSerializer.deserialize(result, true);

    this.clearDropDown(ddl);
    this.createOption(ddl, defaultItem, '');
    for (var i = 0; i < _data.length; i++) {
        var _item = _data[i];
        var _option = this.createOption(ddl, _item.Text, _item.Value);
    }
    ddl.disabled = false;
}
有没有关于为什么这不起作用的建议?注意:我没有在解决方案中使用jquery。

在将其用作javascript数组之前,需要先执行eval(\u data)

例如:

var _rawdata = result.get_object();
var _data = eval(_rawdata);
//Sys.Serialization.JavaScriptSerializer.deserialize(result, true);

this.clearDropDown(ddl);
this.createOption(ddl, defaultItem, '');
for (var i = 0; i < _data.length; i++) {
    var _item = _data[i];
    var _option = this.createOption(ddl, _item.Text, _item.Value);
}
ddl.disabled = false;
var\u rawdata=result.get\u object();
var _data=eval(_rawdata);
//Sys.Serialization.JavaScriptSerializer.deserialize(结果,true);
这个.clearDropDown(ddl);
this.createOption(ddl,defaultItem“”);
对于(变量i=0;i<\u data.length;i++){
var _item=_数据[i];
var _option=this.createOption(ddl、_item.Text、_item.Value);
}
ddl.disabled=false;

您应该能够仅使用对象(或使用)并以常规对象表示法访问您的属性。不过,您可能需要首先取消显示标识符

您不应该生成那个json。相反,您应该输出

{
     "d": [{"Attributes":{"Keys":[],"Count":0,"CssStyle":{"Keys":[],"Count":0,"Value":null}},"Enabled":true,"Selected":false,"Text":"Lexus","Value":"Lexus"},{"Attributes":{"Keys":[],"Count":0,"CssStyle":{"Keys":[],"Count":0,"Value":null}},"Enabled":true,"Selected":false,"Text":"Acura","Value":"Acura"}]
}
(从
“d”
值中删除引号)


在将json放入json对象之前,没有理由将其转换为字符串!只需直接输入json即可。

如何获得文本和值属性?@TampaRich:这一切似乎都归结于WCF的工作方式。您应该将其添加为标记。
{
     "d": [{"Attributes":{"Keys":[],"Count":0,"CssStyle":{"Keys":[],"Count":0,"Value":null}},"Enabled":true,"Selected":false,"Text":"Lexus","Value":"Lexus"},{"Attributes":{"Keys":[],"Count":0,"CssStyle":{"Keys":[],"Count":0,"Value":null}},"Enabled":true,"Selected":false,"Text":"Acura","Value":"Acura"}]
}