我在SQL中创建一个JSON文件,但'ROOT'的格式错误,可以在javascript中使用。
In Microsoft SQL server Management Studio 17.6:
select
a.Latitude Lat,
a.Longitude Long
from
Duurzamekaart.dbo.Poi a
FOR JSON AUTO, ROOT('markers')
结果:
{
"markers":[
{
"Lat":3.300000,
"Long":3.400000
},
{
"Lat":4.400000,
"Long":4.500000
}
]
}
但javascript期望:
markers = [
{
"Lat":3.300000,
"Long":3.400000
},
{
"Lat":4.400000,
"Long":4.500000
}
]
如何让SQL以正确的格式写入,或者让javascript将标记看作数组,以便我可以使用例如:
markers[i].Lat
生成的版本会抛出两个错误:
Uncaught SyntaxError: Unexpected token : markers.json:1
kaart.js:41 Uncaught ReferenceError: markers is not defined
at kaart.js:41
JSON文件未解析但存储在磁盘上并包含在我的HTML中:
<script type='text/javascript' src='json/markers.json'></script>
答案 0 :(得分:1)
您的两个示例都是不正确的JSON结构,您应该首先阅读https://www.w3schools.com/js/js_json_intro.asp
请注意第二个例子: 如果您收到JSON格式的数据,则可以将其转换为JavaScript对象:
var margin = {top: 10, right: 60, bottom: 60, left: 50},
答案 1 :(得分:1)
您需要将字符串解析为JavaScript对象:
HH:mm
然后您可以按照您描述的方式使用var rawJson = '{ "markers": [ (etc...) ] }';
var markers = JSON.parse(rawJSON).markers;
。