三國(guó)紛爭(zhēng)
2023-12-14 12:48:29
我從 php 獲取數(shù)據(jù),例如:[{'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 31.5755, 'lng': -85.279}, {'lat': 32.2334, 'lng': -86.2085}, {'lat': 32.2334, 'lng': -86.2085}, {'lat': 42.8142, 'lng': -73.9396}, {'lat': 42.8142, 'lng': -73.9396}, {'lat': 42.8142, 'lng': -73.9396`enter code here`}, {'lat': 42.8142, 'lng': -73.9396}, {'lat': 42.8142, 'lng': -73.9396}, {'lat': 38.6207, 'lng': -83.8067}, {'lat': 42.3644, 'lng': -71.0633}, {'lat': 40.0625, 'lng': -79.8953}, {'lat': 34.4197, 'lng': -119.7078}, {'lat': 42.8142, 'lng': -73.9396}, {'lat': 42.0702, 'lng': -72.6227}]但在 js 中我想將其轉(zhuǎn)換為:const locations = [ { lat: -31.56391, lng: 147.154312 }, { lat: -33.718234, lng: 150.363181 }, { lat: -33.727111, lng: 150.371124 }, { lat: -33.848588, lng: 151.209834 }, { lat: -33.851702, lng: 151.216968 }, { lat: -34.671264, lng: 150.863657 }, { lat: -35.304724, lng: 148.662905 },];誰(shuí)能建議我如何以這種方式轉(zhuǎn)換它。我想刪除單引號(hào)并想要像這樣的新結(jié)果數(shù)組
1 回答
森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
不,它不是從控制器獲取的 ajax 響應(yīng),例如 var value = "{{myValue}}" 以這種方式我得到
在這種情況下,如果您刪除包裝引號(hào),就可以了 - JavaScript 可以在對(duì)象文本中使用單引號(hào)屬性名稱(chēng):
var values = {{myValue}};JavaScript 引擎將看到的是:
var values = [{'lat': 31.5755, 'lng': -85.279}, /*...*/];這很好。
如果它是 ajax 響應(yīng),最好的辦法是修復(fù) PHP,使其提供有效的 JSON(雙引號(hào)而不是單引號(hào))。然后你可以用 解析結(jié)果JSON.parse。
作為第二好的解決方案,如果您不能這樣做,因?yàn)閿?shù)據(jù)中唯一的單引號(hào)是屬性名稱(chēng)周?chē)膯我?hào),您可以將它們替換為雙引號(hào),然后解析結(jié)果:
const locations = JSON.parse(theDataString.replace(/'/g, '"'));
但是,這只有效,因?yàn)闆](méi)有任何其他單引號(hào)。這不是一個(gè)好方法;而是修復(fù) PHP 端。
添加回答
舉報(bào)
0/150
提交
取消
