Преобразовать строку html (представление json) в реальный объект javascript

0

Я печатаю некоторые php-данные в поле на моей странице. Данные json_encoded поддерживаются бэкэнд.

Теперь я хочу получить эту информацию и превратить ее в объект javascript...

$(document).ready(function(){
    $('.trigger-info-change').click(function(){
        var rel = $(this).attr('rel');
        var td_id = 'info-'+rel;
        var data = $('#'+td_id).html();

        console.log(data);
    });
});

теперь данные корректно протоколируют мой "объект" следующим образом:
{"data":{"id":"1","data1":"1","data2":"2"},{"id":"2","data1":"3","data2":"4"}}

Теперь вопрос заключается в том, как превратить этот html в фактический объект javascript... Я пытался использовать jQuery.parseHtml и некоторые другие рекомендации Google, но не повезло... мне нужен скрипт или есть что-то вроде что там?

Заранее спасибо!

2 ответа

3
Лучший ответ

Если вы хотите использовать JQuery:

var json = $.parseJSON(data)

Или

var obj = JSON.parse(data);
  • 0
    вау ладно, теперь я чувствую себя глупо :) спасибо!
0

Я думаю, что лучше напечатать строку JSON в javascipt.

<script>
    var data = <?php echo $json ?>;
</script>

Что делает:

<script>
    var data = {"data":{"id":"1","data1":"1","data2":"2"},{"id":"2","data1":"3","data2":"4"}};
</script>

Но если вы настаиваете на своем пути, используйте JSON.parse(jsonString).

  • 0
    Спасибо за ответ, но у меня нет конкретного объекта данных, доступного для меня, он назначается и затем читается ... так что нет никакого "нового" внутреннего вызова, чтобы обновить объект таким образом
  • 0
    Я ответил, потому что вы сказали: «Данные json_encoded бэкэндом». Однако ...;): D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню