我们可以从维基词典 API 中获取所需的部分吗?
我正在使用 wiktionary api 从 wiktionary.org 获取信息。
我正在获取 json 格式的数据,我也能够解析它...
但我想从结果(事实上,我只需要一些数据),但我不知道如何从结果中删除某些内容..
我使用的代码是
<script type="text/javascript" src="./jquery-1.4.3.min.js"></script>
<div id="wikiInfo"> contents</div>
<script type="text/javascript">
$.getJSON('http://en.wiktionary.org/w/api.php?action=parse&page=acting&format=json&prop=text&callback=?',
function(json) {
$('#wikiInfo').html(json.parse.text.*);
$("#wikiInfo").find("a:not(.references a)").attr("href", function(){
return "http://sample.com/" + $(this).attr("href");});
$("#wikiInfo").find("a").attr("target", "_blank"); }
);
</script>
上面的代码呈现如下页面中的数据..
http://englishore.com/parse-wiki.php
但我需要从结果中删除发音和翻译部分..
我该怎么做?
I'm using the wiktionary api to get information from the wiktionary.org..
I'm getting the data in the json format and i'm able to parse it too...
but i want to remove some portion of data from the result (in fact, i need only some data), but i dont how to remove certain content from the result..
the code i'm using is
<script type="text/javascript" src="./jquery-1.4.3.min.js"></script>
<div id="wikiInfo"> contents</div>
<script type="text/javascript">
$.getJSON('http://en.wiktionary.org/w/api.php?action=parse&page=acting&format=json&prop=text&callback=?',
function(json) {
$('#wikiInfo').html(json.parse.text.*);
$("#wikiInfo").find("a:not(.references a)").attr("href", function(){
return "http://sample.com/" + $(this).attr("href");});
$("#wikiInfo").find("a").attr("target", "_blank"); }
);
</script>
the above code renders the data as in the following page..
http://englishore.com/parse-wiki.php
But i need to scrap the Pronunciation and Translations portion from the result..
how can i do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在尝试使用 json.parse.text.* 来访问对象的相关部分。这不是有效的 JS 语法——您不能在数组属性中使用
*
。您必须改用数组样式语法:You are trying to use
json.parse.text.*
to access the relevant part of the object. This is not valid JS syntax -- you can't use*
in an array property. You'll have to use array-style syntax instead:请不要忘记包含许可证信息。我在 https://gist.github.com/674522 创建了一个完整的工作示例,请随意重用代码。除了lonesomeday已经提到的错误选择器之外,href属性的修改并没有捕获所有情况,所以我修复了它。
Please do not forget to include license information. I created a full working example at https://gist.github.com/674522, feel free to reuse the code. Beside the wrong selector, already mentioned by lonesomeday, the modification of href attributes did not catch all cases, so I fixed it.