使用javascript创建类似JSON的结构
我知道我可以使用JSON来实现这一点,但我必须这样做。 我有一个谷歌地图,我正在从我的数据库中提取纬度坐标和经度坐标。 之后,我将所有这些信息添加到HTML中的一个按颜色排序的列表中。 现在我必须把它们两个接两个地拉出来,然后做一个类似这样的结构:使用javascript创建类似JSON的结构,javascript,html,json,Javascript,Html,Json,我知道我可以使用JSON来实现这一点,但我必须这样做。 我有一个谷歌地图,我正在从我的数据库中提取纬度坐标和经度坐标。 之后,我将所有这些信息添加到HTML中的一个按颜色排序的列表中。 现在我必须把它们两个接两个地拉出来,然后做一个类似这样的结构: stores1 = [{ "lat": "12312.123", "lng": "2.21312", "state": "Potato" }, {
stores1 = [{
"lat": "12312.123",
"lng": "2.21312",
"state": "Potato"
}, {
"lat": "12321.11",
"lng": "1.1",
"state": "Potato2"
}, {
"lat": "2.32131",
"lng": "4.4",
"state": "Potato"
}
]
我正在使用此代码执行此操作:
var stores=[];
//test list
var listTMP = document.getElementById("listDealers");
var list = listTMP.getElementsByTagName("li");
for (var i = 0; i < list.length-1; i++) {
stores.push(
{
lat: list[i].innerText,
lng: list[i + 1].innerText,
state: "potato"
}
);
i = i + 1;
}
i=i+1是因为我以如下形式添加了lilist项:longitude1 latitude1 | longitude2 latitude2。。。。所以前两个在一起,然后下两个,依此类推。。。
但是有一个问题,我的地图没有显示坐标。如果我添加静态坐标,整个JavaScript都会工作,但我的问题是,我需要像这样动态添加它们。
有什么帮助吗?我哪里出错了
下面是c代码:getList是获取数据的函数
string sqlL = "Select * from retailers";
string[] atrrL = { "LATITUDE" ,"LONGITUDE"};
List<String> tmpL = getList(sqlL, atrrL);
for (int i = 0; i < tmpL.Count; i++) {
listDealers.InnerHtml +=( "<li>" + tmpL[i].ToString().Trim() + "</li>");
}
只是一个风格问题-如果您将i++更改为i+=2,并消除对增量i的第二个调用,它将看起来更干净,并且更明显的是您是有意这样做的。我在这里没有看到任何损坏。您可能需要一步一步地查看存储阵列在填充时的外观。也许内部文本中有空格,这可能会导致您的数字解析失败,或者您的ID中有输入错误。从您描述问题的方式来看,听起来您在构建ol之前已经获得了原始数据。如果是这种情况,最好使用原始数据来构建JSON对象,而不是先将其写入HTML,然后再读取HTML来写入对象。无论您是从服务器还是从客户端构建ol,这都无关紧要,因为您已经获得了原始数据并可以从中创建JSON对象。是的,我尝试在for循环中以1乘以1的方式提醒每个坐标,而且一切似乎都很好…协调字符串与它们应该的完全相同,但显然问题出在商店的某个地方;我用一些简单的数据1234567892.34运行了这个程序,数组填充得非常完美。推送代码很好,假设您希望在页面顶部定义数组。如果数组填充正确,但仍然存在问题,那么问题一定是读取数组的对象,而不是数组本身。