我在这里摸不着头脑,为什么我无法理解这一点。应该很容易。我正在尝试使用看起来像这样的Javascript对象:
Object {object: "clip", function: "list", data: Object, items: 1} (console log )
此对象存储在名为data的变量中
如果我var items = data.items
我得到了我期望的数字(1)。我似乎无法得到的是数据部分中的内容。
记录到控制台的data.data如下所示:
Object {Clipid: "1", ClipprojectID: "2", Clipnote: "This is a sample clip", Clippath: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v", Clipduration: "33"…}
我希望如果我想要Clipid我能做到:
var Clipid = data.data['Clipid'] or data.data.Clipid;
然而,这总是空的。
我尝试了很多东西,但没有任何作用。我确定这是愚蠢或小的东西,我很遗憾,但任何见解都值得赞赏。谢谢!
如果它有助于数据来自jQuery.parseJSON( jsonString )
注意**如果我这样做:
var objd = data['data'];
var arv = $.map(objd, function (value, key) { return value; });
我能够获得像arv [0]等的值,但如果可能的话,我更愿意按键去...
注2 - 这是我正在解码的JSON格式
对此我很抱歉,我注意到编码被塞了。看起来如果我这样做: console.log(data.data [“\ u0000Clip \ u0000id”]);它wotks!它必须与json_encode有关。
答案 0 :(得分:0)
我猜有一个小错字 -
data.data.Clipid
请注意小i
答案 1 :(得分:0)
看起来数据是一个对象,而不是字典,所以你可以var Clipid = data.data.Clipid;
来获取内部信息。
答案 2 :(得分:0)
你不能做data.data ['Clipid'],因为你使用字符串文字命名了属性,并且你使用的正确语法(data.data.ClipId)有一个拼写错误,如上所述。
答案 3 :(得分:0)
var object = {object: "clip", function: "list", data: {Clipid: "1", ClipprojectID: "2", Clipnote: "This is a sample clip", Clippath: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v", Clipduration: "33"}, items: 1}
console.log(object);
Object {object: "clip", function: "list", data: Object, items: 1}
console.log(object.data)
Object {Clipid: "1", ClipprojectID: "2", Clipnote: "This is a sample clip", Clippath: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v", Clipduration: "33"}
console.log(object.data.Clipid)
1
这对我来说很好,我们需要看看你的代码,看看为什么你特意遇到问题。
答案 4 :(得分:0)
如果你的“对象”在“数据”变量中,你只需要做
var clipid = data.Clipid;
答案 5 :(得分:0)
它与PHP中的JSON编码方法有关...所有答案都是我尝试过的并且是正确的,它只是一个有意外的unicode字符的有效JSON字符串。
要修复它,我需要这样做:$ json = str_replace(' \ u0000',"",json_encode($ response));响应是我要转换的数据阵列