Вывод Javascript Json с косой чертой "/"

javascript jquery json

82 просмотра

2 ответа

У меня есть эта функция, используя JSON и JQuery

http://jsfiddle.net/7z4w6jxt/

var data = {"offset":0,"results":[{"link_1/_text":"kebahagiaan","link_3":"http://pmj.astaga.com/article/?p=414","link_1":"http://pmj.astaga.com/article/?tag=kebahagiaan","link_2":"http://pmj.astaga.com/article/?tag=meditasi","link_3/_text":"Meditasi: Makna Rasa Sakit","title_text":"Meditasi: Makna Rasa Sakit","text_2":"Semua manusia yang hidup di dunia ini ingin merasakan kebahagiaan, dalam bentuk apapun.","link_2/_text":"meditasi"},{"link_1/_text":"memberi dan menerima","link_3":"http://pmj.astaga.com/article/?p=411","link_1":"http://pmj.astaga.com/article/?tag=memberi-dan-menerima","link_2":"http://pmj.astaga.com/article/?tag=men-2","link_3/_text":"Take and Give","title_text":"Take and Give","text_2":"Untuk beberapa alasan yang sulit dimengerti, alam telah membagi pria dan wanita dalam sebuah perbedaan sikap dalam memandang sebuah hal.","link_2/_text":"men"},{"link_1/_text":"10 saran jika ingin menyatakan cinta","link_3":"http://pmj.astaga.com/article/?p=404","link_1":"http://pmj.astaga.com/article/?tag=10-saran-jika-ingin-menyatakan-cinta","link_2":"http://pmj.astaga.com/article/?tag=menyatakan-cinta","link_3/_text":"10 Saran Bagi Wanita Untuk Menyatakan Cinta Lebih Dulu","title_text":"10 Saran Bagi Wanita Untuk Menyatakan Cinta Lebih Dulu","text_2":"Apakah anda pernah menyukai seorang pria, dan dilihat dari gelagatnya sepertinya dia juga menyukai anda?","link_2/_text":"menyatakan cinta"}],"cookies":[],"connectorVersionGuid":"ed0ce142-861e-4d2e-bacd-3dd1de491a69","connectorGuid":"d6d21746-2d8f-4980-b1ec-8e1a5d52b133","pageUrl":"http://pmj.astaga.com/article/?page_id=709"};


$(data.results).each(function() {
    var output = "<p>" + this.link_1_text + "</p>";
    $('#placeholder').append(output);
});

я просто хочу напечатать данные из этого "link_1 / _text": "kebahagiaan", то есть kebahagiaan

Можете ли вы объяснить мне, как это должно быть?

Спасибо

Автор: Alan Elnino Источник Размещён: 12.11.2019 10:01

Ответы (2)


0 плюса

Решение

Вот обновленная скрипка

Вы можете использовать синтаксис на основе индексатора, чтобы получить желаемый результат следующим образом:

"<p>" + this["link_1/_text"] + "</p">

В JavaScript объекты действуют как своего рода хранилище ключей / значений, поэтому вы можете получить доступ к имени свойства напрямую через строку. Хотя вы можете обращаться к ним с помощью точечной .нотации, это не позволяет делать это с символами, которые недопустимы в имени переменной.

Хорошее использование этого, которое делает отражение кода легче, если у вас есть строка, содержащая имя свойства, которое вы хотите получить.

Вот маленький пример

HTML

<div id="placeholder"> 
</div>
<input type="text" id="key" />
<button type="button" id="clicker">Submit</button>

скрипт

var data = {
    prop1: "The value of property 1!",
    prop2: "The value of property 2!",
    prop3: "The value of property 3!",
}

$('#clicker').on('click', function(){

    // Get the user input
    var input = $('#key').val(); 

    // Retrieve the property using the user input string
    var output = data[input];

    // Placeholder object
    var ph = $('#placeholder'); 

    if(typeof output === 'undefined'){
        // There is no property that matches the user input string
        ph.html('Oops that property doesnt exist!');
    }
    else{
        // There is a property, so lets write the value of it.
        ph.html(output);
    }
});

Это в основном принимает пользовательский ввод и выводит свойство, соответствующее этой строке.

Этот пример не очень полезен, но сама техника действительно очень полезна.

Автор: James Hay Размещён: 12.02.2015 04:59

0 плюса

Пожалуйста, найдите ответ $ (data.results) .each (function () {

var output = "<p>" + this["link_1/_text"] + "</p>";
$('#placeholder').append(output);

});

Автор: ASADUL Размещён: 12.02.2015 05:22
Вопросы из категории :
32x32