javascript 解析字符串

mamba10 2013-07-03 03:48:17
求助:
[{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}]

上面是一段字符串, 如何在javascript中, 循环获取里面的值
...全文
262 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
var str = "[{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}]"; str = str.replace(/([\u4E00-\u9FA5]+)/g, "'$1'").replace(/=/g, ':'); alert(str);
mamba10 2013-07-03
  • 打赏
  • 举报
回复
引用 9 楼 veryhunger 的回复:
str = str.replace(/([\u4E00-\u9FA5]+)/g, "'&1'").replace(/=/g, ':');
把 & 改成 $就行了, 谢谢! http://www.w3school.com.cn/js/jsref_replace.asp
mamba10 2013-07-03
  • 打赏
  • 举报
回复
引用 9 楼 veryhunger 的回复:
str = str.replace(/([\u4E00-\u9FA5]+)/g, "'&1'").replace(/=/g, ':');
谢谢, 还差一点.. [{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}] 变到了: [{staffcode:1, staffname:'&1'}, {staffcode:2, staffname:'&1'}, {staffcode:3, staffname:'&1'}, {staffcode:4, staffname:'&1'}]
  • 打赏
  • 举报
回复
str = str.replace(/([\u4E00-\u9FA5]+)/g, "'&1'").replace(/=/g, ':');
mamba10 2013-07-03
  • 打赏
  • 举报
回复
var arr = "[{staffcode:1, staffname:'张三'}, {staffcode:2, staffname:'李四'}, {staffcode:3, staffname:'王五'}, {staffcode:4, staffname:'赵六'}]"; //var a = eval("({"+arr+"})"); var dataObj=eval("("+arr+")"); console.info(dataObj); for(var i=0; i<dataObj.length; i++) { for(var j in dataObj[i]) { console.info(dataObj[i][j]); } } 这样就能解决了, 但是还有一个问题, 有人知道如何把 [{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}] 变成 [{staffcode:1, staffname:'张三'}, {staffcode:2, staffname:'李四'}, {staffcode:3, staffname:'王五'}, {staffcode:4, staffname:'赵六'}] 么, javascript操作
Null_Reference 2013-07-03
  • 打赏
  • 举报
回复
格式有问题吧。
mamba10 2013-07-03
  • 打赏
  • 举报
回复
引用 4 楼 KongHuLu 的回复:
你贴出来的json格式不对,如果是正确的json格式,就像2楼那样弄就可以。 如果处理的就是错误格式的数据。。那就先replace=为:,非数字(字符串)加上引号。
恩, 我传的就不是json 我是往tags 里面传入的List<Map<String,String>>, 但是到tags 里面就自动变为字符串了, 我也看到了和json的差别是 = 变:, 给汉字加上" ,. 应该怎么加呢, 求助一下
mamba10 2013-07-03
  • 打赏
  • 举报
回复
引用 楼主 mamba10 的回复:
求助: [{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}] 上面是一段字符串, 如何在javascript中, 循环获取里面的值
非常感谢,但是这样子不对, 的结果是 一下一下的弹出 [ 弹出一次 { 弹出一次 s 弹出一次 t 弹出一次 a 弹出一次 f 弹出一次 f 弹出一次 ....
潮起潮落 2013-07-03
  • 打赏
  • 举报
回复
你贴出来的json格式不对,如果是正确的json格式,就像2楼那样弄就可以。 如果处理的就是错误格式的数据。。那就先replace=为:,非数字(字符串)加上引号。
UEAnswer 2013-07-03
  • 打赏
  • 举报
回复
js中一切都是对象。 对象即是可以通过下标访问的字典类型。
  • 打赏
  • 举报
回复
var arr = [{staffcode:1, staffname:'张三'}, {staffcode:2, staffname:'李四'}, {staffcode:3, staffname:'王五'}, {staffcode:4, staffname:'赵六'}] for(var i=0; i<arr.length; i++) { for(var j in arr[i]) { alert(arr[i][j]); } }
  • 打赏
  • 举报
回复
var arr = [{staffcode=1, staffname=张三}, {staffcode=2, staffname=李四}, {staffcode=3, staffname=王五}, {staffcode=4, staffname=赵六}] for(var i=0; i<arr.length; i++) { for(var j in arr[i] { alert(arr[i][j]); } }

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧