首页 新闻 会员 周边

Jquery问题

0
悬赏园豆:10 [已解决问题] 解决于 2011-02-12 10:53

 var exifInfo = JSON.parse(result.ExifInfo);

得到对象exifInfo怎样把他转化为数组啊!有没有什么方法啊?

MingHao_Hu的主页 MingHao_Hu | 初学一级 | 园豆:8
提问于:2010-12-10 08:54
< >
分享
最佳答案
0

result.ExifInfo是什么JSON格式 jQuery就会转换成对应的格式,建议看一下JSON的基础知识 如果你的 result.ExifInfo 是一个Object ({id:'x',name:'x'}) 自然没有length,但是你本身就是一个array ([{id:'x1',name:'xx'},{id:'x2',name:'xxx'}])的话 自然就有length了。

收获园豆:10
码尔代夫iimax | 老鸟四级 |园豆:3138 | 2010-12-10 09:31
是这种格式:{"拍照日期":"2010:11:20 11:53:25\u0000","尺寸":"2376x1584","水平分辨率":"72","垂直分辨率":"72","颜色表示":"YCbCr","压缩比":null,"制造商":"Canon\u0000","相机型号":"Canon EOS 50D\u0000","光圈值":"F 7.1","曝光时间":"1/125","ISO速度":"160","曝光补偿":"-1","焦距":"2.40","测光模式":null,"目标距离":null,"闪光灯":null,"闪光灯能量":null,"快门速度":"1/458752s","光圈":"0.00","曝光模式":"Multi-segment","曝光程序":"程序控制","EXIF版本":"2.21","白平衡":null,"亮度值Ev":null,"FlashPix版本":"1.00"} 要把它转化为数组有什么好的方法吗?
MingHao_Hu | 园豆:8 (初学一级) | 2010-12-10 09:35
这明显是一个对象,不是数组,用result.ExitInfo['拍照日期']这种形式来取值
Gray Zhang | 园豆:17610 (专家六级) | 2010-12-10 10:15
取不到值,我测了var arrayLen = result.ExifInfo['拍照日期'];arrayLen为undefined!
MingHao_Hu | 园豆:8 (初学一级) | 2010-12-10 10:34
首先你的result是什么?如果result是字符串,就不会有result.exifInfo这种东西
Gray Zhang | 园豆:17610 (专家六级) | 2010-12-10 15:01
我不太明白你要转换为数组的需求,我在上面也说了 格式为 [{},{}]就是数组 如果本来你是一个object 你想转换成array 可以 var obj = {"拍照日期":"2010:11:20 11:53:25\u0000","尺寸":"2376x1584"}; var arr = [];arr.push(obj); arr就是数组。但是我觉得这不是你想要的
码尔代夫iimax | 园豆:3138 (老鸟四级) | 2010-12-11 23:50
其他回答(2)
0

如果你序列化成json格式成功的,那其本身就应该是一个数组了

李.net | 园豆:730 (小虾三级) | 2010-12-10 09:01
0

var jsonObject=eval(jsonString)
for(var key in jsonObject)
{
var a= jsonObject[key]
}

沉默的糕点 | 园豆:1786 (小虾三级) | 2010-12-10 09:53
那是个字符串不是数组,无法使用for循环啊!也不能用jsonObject[key]根据键取值啊!
支持(0) 反对(0) MingHao_Hu | 园豆:8 (初学一级) | 2010-12-10 09:57
eval(jsonString) 就可以获得json对象,如果不行,下载个jquery.json,然后调用$.toJSON(jsonString) 就可以了。
支持(0) 反对(0) 沉默的糕点 | 园豆:1786 (小虾三级) | 2010-12-10 10:17
能写具体点吗?
支持(0) 反对(0) MingHao_Hu | 园豆:8 (初学一级) | 2010-12-10 10:35
修改了代码,大概就这样了。
支持(0) 反对(0) 沉默的糕点 | 园豆:1786 (小虾三级) | 2010-12-10 10:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册