Jquery和JSON数据提取不起作用

时间:2014-05-16 17:58:58

标签: jquery json parameters extraction

我有很多以下格式的长字符串(从URL中提取和解码)

1)Json string 1:

Default={
    "k":"",
    "r":[
    {
        "n":"RefinableString51",
        "t":["\"????636f6d6d756e69636174696f6e7320616e64206d6564696120736563746f72\""],
        "o":"and",
        "k":false,
        "m":null
    }]
}

2)Json string 2

Default={
    "k":"",
    "r":[
    {
        "n":"Author",
        "t":["\"????4861726477617265\""],
        "o":"and",
        "k":false,
        "m":null
    }]
}

。我需要提取字符串“RefinableString51”(需要在“n”之后得到字符串:“和之前”,“t”:)  和“636f6d6d756e69636174696f6e7320616e64206d6564696120736563746f72”(需要在????之后和之前得到字符串\""])  (从上面以粗体突出显示)从1没有“”,并将它们带入两个不同的变量。我拥有的所有字符串都有一个共同的模式,正如上面从1和2中可以看到的那样。所以我需要编写一个提取类似字符串的通用Jquery脚本。

下面的脚本没有按预期工作。

<script type="text/javascript">

 $(document).ready(function(){
    var decodedString = 'Default={"k":"","r":[{"n":"RefinableString51","t":["\"????  636f6d6d756e69636174696f6e7320616e64206d6564696120736563746f72\""],"o":"and","k":false,"m":null}]}';   
    var data = $.parseJSON(decodedString);                      
    alert(data.r[0].n); 
    alert(data.Default.r[0].n);
    alert(data.Default.r[0].t); 
    alert(data.r[0].t);                   
 });
</script>

但是上面的脚本无效。不知道它有什么问题。

提前致谢,

1 个答案:

答案 0 :(得分:0)

供使用:

Default.r[0].t[0].substring(5).replace(/"/, '');

对于n使用:

Default.r[0].n

样品1;同样对于样本2。

THIS DEMO显示上述代码正在运行。 :)