Я использую Groovy JsonBuilder для генерации JSON для отправки по HTTP. Моя проблема заключается в том, что он использует некоторые из ключей на карте.Groovy JsonBuilder, заглавные имена полей
Я даю ей объект этого класса:
public class TestSNP {
private String snpID;
TestSNP(String input) {
snpID = input.split("\\s+")[1];
}
String getSNPID() {
return snpID;
}
}
Это испытание, которое не:
import groovy.json.*
class Test {
@Test
void jsonBuilderTest() {
def testSNP = new TestSNP("1 rs444444 2 3")
assert new groovy.json.JsonBuilder(testSNP).toString() == '{"snpID":"rs444444"}'
}
}
я
{"SNPID":"rs444444"}
вместо
{"snpID":"rs444444"}
(это упрощенный пример, демонстрирующий мою проблему)
Где ваш код? –
@tim_yates Это было бы полезно, не так ли. Я добавил строку, которая вызывает проблемы сейчас. Спасибо. – kiml42
Ответ: Это не ... Groovy не использует буквы в записях. Они сохраняют любую капитализацию, которую они имеют в картах ... т.е.: 'assert new groovy.json.JsonBuilder ([[snps: [[snpID: 'rs444444']]]]). ToString() == '[{" snps ": [{" snpID ":" rs444444 "}]}] 'будет работать отлично в Groovy –