Можем ли мы получить желаемую порцию из API викисловаря? - PullRequest
3 голосов
/ 08 ноября 2010

Я использую wiktionary api для получения информации с wiktionary.org ..

Я получаю данные в формате json, и я тоже могу их проанализировать ...

но я хочу удалить некоторую часть данных из результата (на самом деле, мне нужны только некоторые данные), но я не хочу удалять определенный контент из результата ..

код, который я использую:

<script type="text/javascript" src="./jquery-1.4.3.min.js"></script>
<div id="wikiInfo">&nbsp; 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

Но мне нужно убрать часть произношения и перевода из результата ..

как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

Пожалуйста, не забудьте включить информацию о лицензии. Я создал полный рабочий пример на https://gist.github.com/674522,, не стесняйтесь повторно использовать код. Помимо неправильного селектора, уже упоминавшегося loneomeday, модификация атрибутов href не охватила все случаи, поэтому я исправил это.

1 голос
/ 10 ноября 2010

Вы пытаетесь использовать json.parse.text.* для доступа к соответствующей части объекта. Это недопустимый синтаксис JS - вы не можете использовать * в свойстве массива. Вместо этого вам придется использовать синтаксис в стиле массива:

$('#wikiInfo').html(json.parse.text['*']);
...