Javascript Json输出斜杠" /"

时间:2015-02-12 04:56:29

标签: javascript jquery json

我使用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);
});

我只想打印一个来自这个&#34; link_1 / _text&#34;:&#34; kebahagiaan&#34; 那是 kebahagiaan

你可以向我解释一下它应该是什么吗?

三江源

2 个答案:

答案 0 :(得分:0)

Here is an updated fiddle

您可以使用基于索引器的语法来获得您想要的结果:

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

在JavaScript中,对象充当一种键/值存储,因此您可以直接通过字符串访问属性名称。虽然您可以使用点.表示法访问它们,但它不允许您使用变量名中无效的字符来执行此操作。

如果您有一个包含要检索的属性名称的字符串,那么使代码反射更容易的一个很好的用途就是。

Here's a little example

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);
    }
});

这基本上取用户输入并输出匹配该字符串的属性。

这个例子不是很有价值,但技术本身确实非常有用。

答案 1 :(得分:0)

请找到答案 $(data.results).each(function(){

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

});