在javascript中解析Json时出错

在javascript中解析Json时出错,javascript,json,jsp,parsing,Javascript,Json,Jsp,Parsing,这似乎是一个非常基本的问题,但我花了几个小时,因为我对javascript和jquery不太了解 嗯,我需要解析Json字符串并获取特定键的值。 Json看起来像:{“currentCT”:“Brijesh”} 我尝试了eval()和parse(),但似乎我遗漏了什么,无法追踪问题 我试过: pre.innerHTML = eval('(' + res + ')'); 及 两个都不为我工作 输出 两种方法都返回[object] 指出我的错误 编辑 <script type="text/j

这似乎是一个非常基本的问题,但我花了几个小时,因为我对javascript和jquery不太了解

嗯,我需要解析Json字符串并获取特定键的值。 Json看起来像:
{“currentCT”:“Brijesh”}

我尝试了
eval()
parse()
,但似乎我遗漏了什么,无法追踪问题

我试过:

pre.innerHTML = eval('(' + res + ')');

两个都不为我工作

输出 两种方法都返回
[object]

指出我的错误

编辑

<script type="text/javascript">
    function findTeacher() {
        var url = "/TemplateTest/add/findclassteacher.action?";
        var standard = document.getElementById("classes_widget");
        var val_standard = "standard="
                + standard.options[standard.selectedIndex].value;
        url = url + val_standard + "&";
        var section = document.getElementById("sections_widget");
        var val_section = "section="
                + section.options[section.selectedIndex].value;
        url = url + val_section;
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                var res = xmlhttp.responseText;
                var pre = document.getElementById("holder");
                pre.innerHTML = JSON.parse(res);
                pre.innerHTML = eval('(' + res + ')');
            }
        }
        xmlhttp.open("GET", url, true);
        xmlhttp.send();

    }
</script>

函数findTeacher(){
var url=“/TemplateTest/add/findclasssteacher.action?”;
var-standard=document.getElementById(“classes_小部件”);
var val_standard=“标准=”
+标准.选项[standard.selectedIndex].值;
url=url+val_标准+“&”;
var section=document.getElementById(“sections_小部件”);
var val_section=“section=”
+section.options[section.selectedIndex].value;
url=url+val_段;
var-xmlhttp;
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
var res=xmlhttp.responseText;
var pre=document.getElementById(“持有人”);
pre.innerHTML=JSON.parse(res);
pre.innerHTML=eval(“(“+res+”)”);
}
}
open(“GET”,url,true);
xmlhttp.send();
}

用你的代码试试这个

$.getJSON( "ajax/test.json", function( data ) {
    var _data = JSON.parse(data);
    console.log(_data.currentCT) // Brijesh
});
我会忘记
eval()
。您还必须读取值,而不仅仅是对象:

pre.innerHTML = JSON.parse(res).currentCT;

JSON.parse(res)
返回一个对象,
innerHTML
需要一个字符串作为值。如果指定的值是一个对象,则使用其
toString()
方法,在您的情况下返回[object object]。

是否有错误?您是如何“获取”JSON字符串的?您在错误控制台中看到的确切错误是什么?我是响应ajax请求获取JSON的。发布您的代码!您有1.8k代表,您现在应该知道我们需要所有相关信息来帮助您解决问题。我们需要您请求JSON的代码,以及JSON的确切内容。@Cerbrus我只发布了相关代码,我提到的JSON是我作为响应收到的JSON,解析JSON中包含的唯一部分代码是
eval
parse
。所以我只发布了这么多信息。如果请求也与你相关,我也会发布。谢谢你解释这个场景。这对将来也会有帮助。@teemu你能不能看看我的问题,帮我一下我没有投反对票,但为了其他读者的利益,我建议添加一些解释。
pre.innerHTML = JSON.parse(res).currentCT;