日期:2014-05-18  浏览次数:20705 次

json转换问题
我有一个json格式的字符串:
{"person":["张三","李四"],"xm":["男","女"]}

我该怎么转换成:
[
{"person":"张三","xm":"男"},
{"person":"李四","xm":"女"}
]
这种格式呢?


------解决方案--------------------
楼主的第一个json串怎么看着就那么别扭呢
{"person":[{"name":"张三","xm":"男"},{"name":"李四","xm":"女"}}]}
不觉得应该是这样么?也就是你的第二个字符串才应该是json串。
如果楼主非要解析第一个串的话,那么用正则吧,然后构建对象最后输出json串就行了。
先确定这是你想要的效果然后引用下,我再尝试写正则
------解决方案--------------------

 if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                try {
                    //显示结果  
                    var responseRes = xmlHttp.responseText;
                    if (responseRes.length > 0) {
                        var Data = eval("(" + responseRes + ")");
                        var dataResList = eval(Data.person);
                    }
                } catch (e) {
                    //alert("操作异常");
                }

            }

使用类似上面的方法eval绑定一下
------解决方案--------------------
引用:
楼主的第一个json串怎么看着就那么别扭呢
{"person":[{"name":"张三","xm":"男"},{"name":"李四","xm":"女"}}]}
不觉得应该是这样么?也就是你的第二个字符串才应该是json串。
如果楼主非要解析第一个串的话,那么用正则吧,然后构建对象最后输出json串就行了。
先确定这是你想要的效果然后引用下,我再尝试写正则

第一个json格式错误!