2017-10-03 1 views
1

이 포함되어 있습니다. 매우 명확 할 수 있으므로 부드럽게 작성하십시오.httpBuilder JSON 응답 구문에 []

def http = new HTTPBuilder(uri) 

http.request(POST,JSON) { req -> 
    headers.'Content-Type' = 'application/json' 
    headers.'x-chkp-sid' = CHKPsid 
    body = [ 
      "limit" : 100, 
      "offset" : 0, 
      "details-level" : "standard" 
    ] 

    response.success = { resp, json -> 
     println (json) 
     println "POST Success. SHOWGWS: ${resp.statusLine}" 
     println json.objects.name 
     println json.size() 
     println json.getClass() 
    assert json.objects.name == 'gw-6eee89' 
    } 
} 

다음과 같은 출력을 제공합니다 :

다음 코드는

[objects:[[uid:892d08fb-0dca-5146-8587-49fa07ece24c, name:gw-6eee89, type:simple-gateway, domain:[uid:41e821a0-3720-11e3-aa6e-0800200c9fde, name:SMC User, domain-type:domain]]], from:1, to:1, total:1] 

POST Success. SHOWGWS: HTTP/1.1 200 OK 

[gw-6eee89] 

4 

class groovy.json.internal.LazyMap 

Caught: Assertion failed: 

    assert json.objects.name == 'gw-6eee89' 
     | |  | | 
     | |  | false 
     | |  [gw-6eee89] 
     | [[uid:892d08fb-0dca-5146-8587-49fa07ece24c, name:gw-6eee89, type:simple-gateway, domain:[uid:41e821a0-3720-11e3-aa6e-0800200c9fde, name:SMC User, domain-type:domain]]] 
     [objects:[[uid:892d08fb-0dca-5146-8587-49fa07ece24c, name:gw-6eee89, type:simple-gateway, domain:[uid:41e821a0-3720-11e3-aa6e-0800200c9fde, name:SMC User, domain-type:domain]]], from:1, to:1, total:1] 

그것은 표시가 GW-6eee89을 비교하는 [-6eee89 GW]

내가 볼 수없는 이유 대괄호는 값이 호출 될 때 제거되지 않습니다. 어떤 도움을 많이 주셨습니다. objects 이후

답변

1

List의 인스턴스이며 호출하면 list.someProperty 당신은 목록에있는 모든 개체 someProperty 값 목록을 얻을 것이다 :

[[name:1],[name:2]].name == [1, 2] 

당신은 첫 번째 개체를 가져올 필요가있다. 예 : objects.name[0].

+0

Perfect. 감사. 나는 그것이 명백한 무엇인가 될 것이라고 생각했다. – Mondo