我正在向我的javascript发送一个Json。
myMethod(String json) {
alert(json);
var jsonObject = JSON.parse(json);
alert(jsonObject);
var myResponseResult = jsonObject.result;
var myResponseCount = jsonObject.count;
}
它将json显示为
{"Test":"123", "Test2":"234"}
但它将jsonObject显示为
[object Object]
并将jsonObject.result显示为'undefined'
请指导我错在哪里..
感谢
答案 0 :(得分:1)
警报只能显示字符串。当你传递一个对象时,它不知道该怎么做,所以它只显示[object Object]
试试这个:
alert({foo: 'bar'})
它应该显示[object Object]。
JSON.parse返回hss 2键,Test和Test2的对象。没有名为result的键,因此jsonObject.result未定义。尝试:
alert(jsonObject.Test);
答案 1 :(得分:0)
您的结果数据是一个对象。所以要阅读json试试
var obj=JSON.parse('{"Test":"123", "Test2":"234"}')
alert(obj.Test)
或者您可以使用JSON.stringify以字符串形式查看整个json对象。
alert(JSON.stringify({"Test":"123", "Test2":"234"})
答案 2 :(得分:0)
显然,你result
中没有jsonObject
。相反,您有Test
和Test2
所以,尝试这样调用这个函数:
myMethod('{"result":"123", "count":"234"}')
至于[object Object]
- 这是正常行为。如果您想查看对象的内容,则应使用console.dir(jsonObject);
代替alert(jsonObject);
,然后打开控制台(Chrome中的F12)并查看结果。
P.S。 Javascript是弱类型语言,因此您不应该定义参数的类型,因此您应该删除单词String
。
答案 3 :(得分:0)
使用:
var _Result = JSON.parse(response);
var _Test1 = _Result[0].Test;
var _Test2 = _Result[0].Test
您应该定义要显示或提醒的JSON数据的索引。即使您有1条记录。