API查询语法 - 无法解码JSON对象

时间:2017-03-14 18:16:02

标签: json

这与Patentsview.org API有关 http://www.patentsview.org/api/uspc.html#field_list

我想修改我当前的查询以将自己限制为一个或多个USPC ID(美国专利分类)我在我的测试用例中使用id = 348。

以下是我的查询:

PATENTS_API_URL_TEMPLATE = 'http://www.patentsview.org/api/patents/query?q={%22_text_any%22:{%22patent_abstract%22:%22term_placeholder%22}}&f=[%22patent_number%22,%22patent_date%22,%22inventor_last_name%22,%22patent_abstract%22]'

上述查询在文本中的任何位置搜索term_placeholder,并返回专利号,数据,发明者姓氏和摘要。

我不关心日期和名字。我只关心专利号和摘要。但我也希望将其限制在一个或多个专利类别中。

我尝试了以下内容:

PATENTS_API_URL_TEMPLATE = 'http://www.patentsview.org/api/uspc_mainclasses/query?q={%22_and%22:[{%22_text_any%22:{%22patent_abstract%22:%22term_placeholder%22}},{%22uspc_mainclass_id%22:%22348%22}}]}&f=[%22patent_number%22,%22patent_abstract%22]'

我得到的错误是ValueError:无法解码JSON对象。

我使用了Patentsview提供的以下示例:

http://www.patentsview.org/api/uspc_mainclasses/query?q={"_and":[{"_contains":{"assignee_organization":"Census"}},{"_gte":{"patent_date":"2000-01-01"}},{"_lte":{"patent_date":"2010-12-31"}},{"_contains":{"uspc_mainclass_title":"Electricity"}}]}&f=["inventor_id","inventor_first_name","inventor_last_name"]

我用%22替换双引号,从api / patents切换到api / uspc_mainclasses,删除了名称和日期字段,否则尝试按照示例。

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

在348“之后你只有一个额外的}。没有它,api会返回你正在寻找的json

http://www.patentsview.org/api/uspc_mainclasses/query?q={"_and":[{"_text_any":{"patent_abstract":"term_placeholder"}},{"uspc_mainclass_id":"348"}]}&f=["patent_number","patent_abstract"]

您可以通过将uspc_mainclass_id更改为数组来搜索多个类

http://www.patentsview.org/api/uspc_mainclasses/query?q={"_and":[{"_text_any":{"patent_abstract":"term_placeholder"}},{"uspc_mainclass_id":["348","343"]}]}&f=["patent_number","patent_abstract"]

请注意,专利局在2015年6月停止使用uspc分类。您的查询不会返回比最近更多的结果。如果要进行返回更新结果的分类搜索,则需要使用cpc分类字段,如cpc_group_id。