求助json转为数组,并根据ID获得数组中值

chinazdg 2012-12-10 09:57:27

var json=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}]


function jsonToArray(){
//这里要写个函数
}


想通过jsonToArray转化为以下格式:

//初始化演示数据
personObj1=new Object()
personObj1.name="张三";
personObj1.sex="男";
personObj1.age=34;


personObj2=new Object()
personObj2.name="李四";
personObj2.sex="女";
personObj2.age=50;

var psnArray = new Array();
psnArray[0] = personObj1;
psnArray[1] = personObj2;
...全文
334 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinazdg 2012-12-11
  • 打赏
  • 举报
回复
引用 9 楼 xzy21com 的回复:
引用 7 楼 chinazdg 的回复:JavaScript code?1234567891011121314var on=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}] function jsonToArray(str){ var l……
这里的windown是什么意思呀
chinazdg 2012-12-11
  • 打赏
  • 举报
回复
谢谢楼上的 还有个大问题看下面的json

var str=[
			{id:"1",name:"张三",age:12},
			{id:"2",name:"李四",age:34},
			{id:"3",name:"王五",age:38},
			{id:"4",name:"赵六",age:40},
			{id:"5",name:"使命召唤",age:20},
			{id:"6",name:"黑色行动",age:32}
		];
根据str的信息制作了一个表格,每条信息前有个input[type=checkbox],我想提取选中状态中的json,并生成数组,并且我想随意调取选中状态中的name、age
scscms太阳光 2012-12-11
  • 打赏
  • 举报
回复
引用 7 楼 chinazdg 的回复:
JavaScript code?1234567891011121314var on=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}] function jsonToArray(str){ var l=str.length; ……
就差一点点了: var on=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}] function jsonToArray(str){ var l=str.length; var psnArray = new Array(); for(var i=0;i<l;i++){ window["personObj"+(i+1)]=new Object(); for(var key in str[i]){ window["personObj"+(i+1)][key]=str[i][key]; } psnArray[i]=window["personObj"+(i+1)]; } alert (psnArray[2].age); } jsonToArray(on);
似梦飞花 2012-12-10
  • 打赏
  • 举报
回复
var json='[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}]'; function jsonToArray(str){ var reg=/\{.*?\}/g; str=str.match(reg); var arr=[]; for(var i in str){ arr.push(eval("("+str[i]+")")); } return arr; } var arr=jsonToArray(json); for(var i in arr){ for(var j in arr[i]){ document.write(i+":"+j+"="+arr[i][j]+"<br/>"); } } j是你要的key吗?
chinazdg 2012-12-10
  • 打赏
  • 举报
回复

var on=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}]
    function jsonToArray(str){
        var l=str.length;
        var psnArray = new Array();
        for(var i=0;i<l;i++){
            window["personObj"+(i+1)]=new Object();
            for(var key in str[i]){
                window["personObj"+(i+1)].key+"="+str[i][key];
             }         
            psnArray[i]=window["personObj"+(i+1)];
        }
        alert (psnArray[2].age);
    }
    jsonToArray(on);
我这样写出来就是动态获取key,但是获得的是undefined
scscms太阳光 2012-12-10
  • 打赏
  • 举报
回复
可以的
<script type="text/javascript">
    var tt=new Object();
        tt.b1=1;
        tt.b2=2;
        tt.b3=3;
        tt.b4=4;
    var i=3;
    alert(tt["b"+i]);
</script>
chinazdg 2012-12-10
  • 打赏
  • 举报
回复
能不能动态读取key。
chinazdg 2012-12-10
  • 打赏
  • 举报
回复
能不能动态读取key值。
scscms太阳光 2012-12-10
  • 打赏
  • 举报
回复
<script type="text/javascript">
    var on=[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}];
    function jsonToArray(){
        var l=on.length;
        var psnArray = new Array();
        for(var i=0;i<l;i++){
            window["personObj"+(i+1)]=new Object();
            window["personObj"+(i+1)].name=on[i].name;
            window["personObj"+(i+1)].sex=on[i].sex;
            window["personObj"+(i+1)].age=on[i].age;
            psnArray[i]=window["personObj"+(i+1)];
        }
    }
</script>
chinazdg 2012-12-10
  • 打赏
  • 举报
回复
还需要个key,如果我想提取json中name为"张三"的数据,只将这一部分转换为数组呢?
似梦飞花 2012-12-10
  • 打赏
  • 举报
回复
var json='[{name:"张三",age:25,sex:"男"},{name:"李四",age:35,sex:"男"},{name:"王五",age:45,sex:"女"}]'; function jsonToArray(str){ var reg=/\{.*?\}/g; str=str.match(reg); var arr=[]; for(var i in str){ arr.push(eval("("+str[i]+")")); } return arr; } var arr=jsonToArray(json); for(var i in arr){ document.write(arr[i].name+":"+arr[i].age+":"+arr[i].sex+"<br/>"); } 这样?

87,910

社区成员

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

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