У меня есть массив объектов в атрибуте данных, и я хочу получить это значение в виде массива объектов в js.Я запутался, как разобрать строку в массив в js.Вот мой атрибут данных:
var values = [{title:"My Office",loc:{lat:27.7081018,lng:85.3342199}},{title:"My Hostel",loc:{lat:27.7072867,lng:85.3253844}},{title:"Sudhir House",loc:{lat:27.6802258,lng:85.3805697}},{title:"Indra Chowk",loc:{lat:27.7057217,lng:85.3084168}},{title:"Jamal",loc:{lat:27.7017848,lng:85.3127387}},{title:"Patan",loc:{lat:27.5978047,lng:85.355257}},{title:"Baktapur",loc:{lat:27.6773968,lng:85.406957}},{title:"Dhulikhel",loc:{lat:27.6241873,lng:85.5410204}},{title:"Nagarjun",loc:{lat:27.7249402,lng:85.3591267}},{title:"Chitlang",loc:{lat:27.6478865,lng:85.1335696}},{title:"Pilot baba ji",loc:{lat:27.6406024,lng:85.4202461}}];
// Result I want to get
console.log(values)
// Return string
console.log($('div').attr("data-values"));
// Return single array
console.log(new Array($('div').attr("data-values")));
// Return error
console.log(JSON.parse($('div').attr("data-values")));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-values='[{title:"My Office",loc:{lat:27.7081018,lng:85.3342199}},{title:"My Hostel",loc:{lat:27.7072867,lng:85.3253844}},{title:"Sudhir House",loc:{lat:27.6802258,lng:85.3805697}},{title:"Indra Chowk",loc:{lat:27.7057217,lng:85.3084168}},{title:"Jamal",loc:{lat:27.7017848,lng:85.3127387}},{title:"Patan",loc:{lat:27.5978047,lng:85.355257}},{title:"Baktapur",loc:{lat:27.6773968,lng:85.406957}},{title:"Dhulikhel",loc:{lat:27.6241873,lng:85.5410204}},{title:"Nagarjun",loc:{lat:27.7249402,lng:85.3591267}},{title:"Chitlang",loc:{lat:27.6478865,lng:85.1335696}},{title:"Pilot baba ji",loc:{lat:27.6406024,lng:85.4202461}}]'>
</div>
В приведенном выше коде я сохранил массив в data-values
и при получении значения data-values
я получил строку.Как я могу разобрать эту строку обратно в массив объектов.