我有很多以下格式的长字符串(从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>
但是上面的脚本无效。不知道它有什么问题。
提前致谢,
答案 0 :(得分:0)
供使用:
Default.r[0].t[0].substring(5).replace(/"/, '');
对于n使用:
Default.r[0].n
样品1;同样对于样本2。
THIS DEMO显示上述代码正在运行。 :)