单独的数组成两个阵列
我不知道如何可以分离由“123.152323,152.123232”到“123.152323”和“152.123232”的阵列。单独的数组成两个阵列
我拿起串从静止,该字符串看起来是这样的。
ResponseHandler所({ “项目”:[{ “Name”: “XXX”, “位置”: “xx.xxxxx”, “xx.xxxxx”] ...
function responseHandler(json) {
var markers = new Array();
for (var i = 0; i < json.items.length; i++) {
markers[i] = (json.items[i].location);
}
}
我可以把它变成一个数组拆分前的位置?我知道分裂()存在,但如果字符串已经不仅仅是位置的详细信息,如姓名,城市等
现代浏览器包含本地JSON方法(如JSON.parse
,JSON.stringify
)。使用这些,或使用外部库如this one from google。它使您的生活更轻松(无需拆分或正则表达式搜索等):评论后
function responseHandler(json) {
// use native (JSON.parse), json-sans-eval would be: jsonParse(json)
var myJson = JSON.parse(json)
,markers = []
,i = 0
,len = myJson.length;
for (; i < len; i = i+1) {
markers.push(myJson[i].location);
}
return markers;
}
编辑:你传递一个JS对象,因此JSON的解析是没有必要的。
function responseHandler(json) {
var markers = []
,i = 0
,len = json.length;
for (; i < len; i = i+1) {
markers.push(json.items[i].location);
}
return markers;
}
//for example
var json = {"items":[
{"name":"xxx","location":["xx.xxxxx","xx.xxxxx"]},
{"name":"yyy","location":["yy.yyyyy","yy.yyyyy"]}
]
};
var locations = responseHandler(json);
//=> now locations[0][0] is 'xx.xxxxx', locations[1][0] 'yy.yyyyy'
(可能是你应该尝试在网络约javascript basics上找到了一些阅读材料)
嗨 感谢您的回复,我已经尝试过您的解决方案,但无法使其正常工作。我收到的字符串看起来像这样。 responseHandler({“items”:[{“name”:“xxx”,“location”:[“xx.xxxxx”,“xx.xxxxx”],... – Philip
在这种情况下,不需要解析你传递了一个真正的js对象),所以你可以将'json.items [i] .location'直接推送到数组中。 – KooiInc
好吧,这很有用,谢谢!:)但是如何将数组拆分成两个连接的数组对彼此?现在,当我执行警报(标记[0])时,我得到xx.xxxxx,xx.xxxxx。或者我错过了什么? – Philip
你的意思是,这是JSON?解析它使用'JSON.Parse'并回落'eval' ... – Ryan
为什么你不能把这个字符串当作json? –
@minitech:看起来不像JSON;相反,这是一个真正的“JSO”!他错误地标记了他的变量。 –