0
我的JSON響應(返回爲字符串),SOAPUI腳本斷言,當JSON響應回報串
"[{\"Serial\":5,\"Name\":\"hold\",\"Types\":[{\"Serial\":36,\"Id\":5,\"Data\":true}]}]"
我的劇本斷言,
import groovy.json.JsonSlurper
def ResponseMessage = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
assert jsonSlurper.Serial == 5
但我發現了一個錯誤
「JSON有效負載應以開放式大括號'{'或開放方括號'['。' '''[[\'Serial \」:5,\「Name \」:\「hold \ 」 \ 「類型\」:[{\ 「串行\」:36,\ 「ID \」:5,\ 「數據\」:TR UE}]}]「」被上線發現:1,柱:1"
如何解決這個劇本,我只是想斷言,我的反應不應該是空的,串行等於5
的反應是無效的;它*不應該是一個字符串。您必須修復服務器上的響應。 – JJJ
沒有一個有效的Json響應,我使用http://jsonlint.com/ – Gkm
驗證它。如錯誤消息所示,它是* not * valid。 '「[{\」sysSerial \「:...'是無效的,它應該是'[{」sysSerial「:...'我很確定,如果你將字符串粘貼到jsonlint中,它不會說它是有效的,不要將它重新編碼爲一個字符串 – JJJ