У меня есть следующий скрипт Groovy (не приложение Grails), возвращающее JSON-подобный, но это не является строго достоверным JSON.Groovy return JSON
String baseURL = 'https://test.com'
File userFile = new File("./user.json")
def client = new HTTPBuilder(baseUrl)
client.headers['Content-Type'] = 'application/json'
client.request(GET, JSON) { req ->
requestContentType = JSON
headers.Accept = 'application/json'
response.success = { resp, json ->
userFile.append json.toString()
println JsonOutput.toJson(json.toString())
}
}
Я пытаюсь создать выходной файл JSON. Я попытался использовать JsonOutput.prettyPrint, и я посмотрел на JsonBuilder, но похоже, что мне придется строить структуру JSON вручную, когда Groovy должен поддерживать вывод. Это то, что я возвращаюсь.
{AssetNumber=AssetNumber1, DeviceFriendlyName=FriendlyName1, PhoneNumber=17035551231, SerialNumber=SerialNumber1, Udid=Udid1, [email protected], UserId=userId1, UserName=userName1}
Как я уже сказал, это JSON-подобный, но не совсем правильный. Я ожидал чего-то вроде:
{"AssetNumber": "AssetNumber1", "DeviceFriendlyName": "FriendlyName1"....}
Любые идеи?
Не могли бы вы предоставить контент JSON, который вы получите для тестирования? – Opal
Веб-сервис, который я звоню, возвращает действительный JSON, когда я тестирую его через REST Client. @ Опал, я не уверен, что понимаю ваш вопрос. Я предоставляю JSON. FYI, я использую Groovy v2.3.6 –
Прошу прощения. Я думал, что это только часть того, что вы получаете. См. Мой отредактированный ответ. – Opal