我遇到了一个问题,jsonBuilder从结果字符串中摘取引号。如何格式化输出以返回带有引号的JSON响应?
import com.eviware.soapui.support.XmlHolder
import net.sf.*
import net.sf.json.*
import net.sf.json.groovy.*
import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
import groovy.json.*
import groovy.json.JsonOutput
import net.sf.json.JSONObject
def ResponseMessage = testRunner.testCase.testSteps["MerchantEMS_POST"].testRequest.response.contentAsString
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
log.info ResponseMessage
def merchantResult = ResponseMessage
def newMerchantID = "60300004055"
def entityID = jsonSlurper.entityId
jsonSlurper.merchantId = newMerchantID
def jsonBuilder = new groovy.json.JsonBuilder()
def updatedjson = jsonBuilder(jsonSlurper)
log.info "updated JSON = $updatedjson"返回更新return
ResponseMessage:{ "entityId“:"93LSHLXW7BJ5K00MJALWZJMLL0”、"creatorId“:"HPCDKMSV763K2VGHCKQQ09QSGM”、"createdTimestamp“:"2015-09-02T00:26:34.015Z”、"updaterId“:"HPCDKMSV763K2VGHCKQQ09QSGM”、"updatedTimestamp“:"2015-09-02T00:26:34.015Z”、"merchantId“:"L7QWKA0001F5W1RRZY4Z006153”、"createdBy“:"ralgg00”、"isDeleted“:false }
updatedjson (无引号)=updatedTime戳:2015-09-02T00:26:34.015Z,createdBy:ralgg00,createdTimestamp:2015-09-02T00:26:34.015Z,creatorId:HPCDKMSV763K2VGHCKQQ09QSGM,entityId:93LSHLXW7BJJJ00MZJMLL0,商业no:60300004055,isDeleted:false,updaterId:HPCDKMSV763K2VGHCKQQ09QSGM
发布于 2015-09-02 07:19:20
编辑:
当您记录“updatedjson”时,它会将其识别为Map对象并打印其字段。您需要使用一些可以将Map对象转换为JSON并打印出来的东西。有许多方法可以做到这一点,例如:
def json = JsonOutput.toJson(updatedjson)
println json来源:http://www.groovy-lang.org/json.html
https://stackoverflow.com/questions/32343255
复制相似问题