SyntaxError意外令牌{在JavaScript中使用json对象时

时间:2017-10-23 13:20:17

标签: javascript php json

尝试在JavaScript中使用JSON对象时出现Uncaught SyntaxError: Unexpected token {错误。

我的代码现在是这样的:

$bedrijven            = "
select
  cnt.id, cnt.title, cnt.introtext, cnt.ordering, cnt.state, f.item_id,
  max(case when f.field_id = 3 then f.value end) as plaats,
  max(case when f.field_id = 1 then f.value end) as straat
from snm_fields_values f
join snm_content cnt
on cnt.id = f.item_id
where cnt.state = 1
group by f.item_id
order by f.item_id, plaats, straat";
$bedrijvencon       = $conn->query($bedrijven);
while($bedrijven    = $bedrijvencon->fetch_assoc()){
  $jsonobject .= json_encode($bedrijven);
}

然后在我的页脚中,我使用以下内容:

<script>
   var bedrijven = <? echo $jsonobject; ?>;
   console.log(bedrijven);
 </script>

如果我在控制台中单击错误行,则显示:

var bedrijven = {"id":"10","title":"P. Vis B.V.","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"10","plaats":"Heenvliet","straat":"Drie\u00ebndijk 1a"}{"id":"3","title":"CijferAdvies Nissewaard","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"1","state":"1","item_id":"3","plaats":"Heenvliet","straat":"Ridderstraat 5"}{"id":"4","title":"\u201cHet Huidhuys\u201d Afslank- en schoonheidsinstituut","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"4","plaats":"Zuidland","straat":"Breedstraat 2"}{"id":"5","title":"Bouwbedrijf van de Water","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"5","plaats":"Heevliet","straat":"Polyanderweg 2"}{"id":"6","title":"Studio NewMedia B.V.","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"6","plaats":"Spijkenisse","straat":"Goudenregenplein 1 - Unit 38"}{"id":"7","title":"Taxi Overgaauw","introtext":"<p><a href=\"http:\/\/www.taxiovergaauw.nl\/\" target=\"_self\" title=\"http:\/\/www.taxiovergaauw.nl\"><\/a><a href=\"http:\/\/www.taxiovergaauw.nl\/\" target=\"_self\" title=\"http:\/\/www.taxiovergaauw.nl\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/a><\/p>\r\n<p><a href=\"http:\/\/www.taxiovergaauw.nl\/\" target=\"_self\" title=\"http:\/\/www.taxiovergaauw.nl\">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/a><\/p>\r\n<p>&nbsp;<\/p>","ordering":"0","state":"1","item_id":"7","plaats":"Zuidland","straat":"Langeweg 2b"}{"id":"8","title":"Moree","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"8","plaats":"Simonshaven","straat":"Ring 2"}{"id":"9","title":"Molengraaf Makelaardij","introtext":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus aliquet interdum enim vel volutpat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin ullamcorper neque a porttitor malesuada. Etiam pharetra eget nisl sit amet pharetra. Etiam a mi eget justo rutrum euismod. Praesent ligula lorem, consequat in suscipit sit amet, fermentum eu risus. Quisque sed lorem porttitor, rutrum arcu ut, cursus est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris iaculis nisl non gravida dapibus. Nulla at tellus eleifend, vehicula lorem at, lacinia ex. Nam a volutpat dolor, non accumsan lectus. Praesent porta, purus eu consequat pharetra, eros nulla dignissim ipsum, a euismod justo metus in orci.<\/p>\r\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vel aliquam nulla, ut elementum urna. Pellentesque posuere eros vitae neque auctor semper. Quisque elit leo, congue non posuere nec, pharetra a velit. Morbi quam lacus, consequat vel euismod a, ullamcorper vitae augue. Integer in nulla euismod diam ornare tempor. Donec ut rutrum urna. Morbi vel efficitur lorem. Sed porttitor risus et urna facilisis, vel pellentesque nisi fermentum. Nam tempus tortor a venenatis auctor.<\/p>","ordering":"0","state":"1","item_id":"9","plaats":"Zuidland","straat":"Mr. P.J. Oudweg 56"};

我做错了什么?

2 个答案:

答案 0 :(得分:5)

这很好:

var foo = { a: 1 };

但是你正在输出:

var foo = { a: 1 }{ a: 1 }{ a : 1 };

如果你想拥有一组对象,那么你需要将它们放入一个数组中。

$data = [];
while($bedrijven    = $bedrijvencon->fetch_assoc()){
   array_push($data, $bedrijven);
}
$jsonobject = json_encode($data);

答案 1 :(得分:0)

您不能通过连接多个json字符串来组合它们。你必须将它们聚合成一个数组。你可以通过做这样的事情来解决这个问题

$t = [];
while($bedrijven = $bedrijvencon->fetch_assoc()){
  $t[] = $bedrijven;
}
$jsonobject = json_encode($t);