10.1 JSON提取器「JSON Extractor」
若響應(yīng)數(shù)據(jù)格式為JSON,也可以用JSON提取器來提取需要關(guān)聯(lián)的數(shù)據(jù)。
image.png
配置項(xiàng)
Apply to:
與正在表達(dá)式提取器中用法相同,不再贅述。
Names of created variables:
將JSONPath提取的內(nèi)容保存到指定變量,多個(gè)變量之間用“;”分隔(注意不是用,號(hào))。
JSON Path expressions:
用于提取響應(yīng)數(shù)據(jù)的JSONPath表達(dá)式,
多個(gè)JSONPath表達(dá)式之間用“;”分隔(注意不是用,號(hào))。
Match No.(0 for Random):
若JSONPath有多個(gè)匹配項(xiàng),可以選擇提取哪個(gè)匹配項(xiàng)。
0表示隨機(jī)(默認(rèn)值)
-1表示提取所有匹配項(xiàng),各匹配項(xiàng)可用var_1,var_2,var_3,... ,var_n表示(var為保存提取內(nèi)容的變量名)
i(i=1,2,3,...)表示第i個(gè)匹配項(xiàng),若i大于匹配總數(shù),在設(shè)置了缺省值的情況下返回缺省值,否則返回空。
Compute concatenation var (suffix _ALL):
勾選此選項(xiàng),若JSONPath返回多個(gè)匹配項(xiàng),
則將各匹配項(xiàng)連接起來保存在var_ALL的變量中,其中var為保存提取內(nèi)容的變量名。
Default Values:
若JSONPath沒有返回任何結(jié)果,則顯示設(shè)置的缺省值。
注意缺省值可以不設(shè)置,一旦設(shè)置,需要為每個(gè)變量設(shè)置缺省值,
多個(gè)缺省值之間用“;”分隔(注意不是用,號(hào))。
10.2 應(yīng)用案例
沿用上面的例子。
其實(shí)上例中第二步驟:設(shè)置查詢條件(比如按商品品牌)搜索商品,響應(yīng)數(shù)據(jù)為JSON,也可以使用JSON提取器提取數(shù)據(jù)。
下面是搜索商品返回的JSON數(shù)據(jù):
{
"error": 0,
"message": "",
"content": "<!-- $Id: goods_list.htm 17126 2010-04-23 10:30:26Z liuhui $ -->\r\n\r\n<table cellpadding= ... <\/table>\r\n\r\n",
"filter": {
"cat_id": 0,
"intro_type": "",
"is_promote": 0,
"stock_warning": 0,
"brand_id": 0,
"keyword": "",
"suppliers_id": "",
"is_on_sale": "",
"sort_by": "goods_id",
"sort_order": "DESC",
"extension_code": "",
"is_delete": 0,
"real_goods": 1,
"record_count": "20",
"page_size": 15,
"page": 1,
"page_count": 2,
"start": 0
},
"page_count": 2
}
現(xiàn)在要從響應(yīng)數(shù)據(jù)中提取錯(cuò)誤代碼,錯(cuò)誤消息,返回內(nèi)容三部分?jǐn)?shù)據(jù),JSON提取器設(shè)置如下:

image.png

image