1.13에서 Minecraft 언어 파일은 단순한 다중 행 키 = 값 형식에서 JSON으로 전환되었습니다 .
도전
JSON 문자열을 반환하는 원래 형식에서 변환하는 프로그램을 작성하십시오. 표준 입력 방법을 사용하여 입력을 가져올 수 있으며 출력은 표준 출력 방법에서 json이어야합니다
원래 형식에는 키 = 값 쌍이있는 행이 포함됩니다 (예 :
tile.dirt.name=Dirt
advMode.nearestPlayer=Use "@p" to target nearest player
build.tooHigh=Height limit for building is %s blocks
key = value를 사용하여 하나의 큰 JSON 객체로 변환해야합니다.
{
"tile.dirt.name": "Dirt",
"advMode.nearestPlayer": "Use \"@p\" to target nearest player",
"build.tooHigh": "Height limit for building is %s blocks"
}
일부 세부 사항
- 올바른 키 / 값 쌍만 포함되어 있으면 유효한 모든 JSON이 허용됩니다. 마인 크래프트가 허용하기 때문에 후행 쉼표가 허용됩니다.
- 탈출해야 할 유일한 것은 따옴표입니다. (1.13 이전에는 언어 파일에 줄 바꿈, 백 슬래시 또는 기타 JSON 중단 항목이 존재하지 않았습니다)
- 빈 줄은 무시해야합니다
- 선은 정확히 하나의 등호를 포함합니다
테스트 사례
입력:
tile.dirt.name=Dirt
advMode.nearestPlayer=Use "@p" to target nearest player
build.tooHigh=Height limit for building is %s blocks
산출:
{
"tile.dirt.name": "Dirt",
"advMode.nearestPlayer": "Use \"@p\" to target nearest player",
"build.tooHigh": "Height limit for building is %s blocks"
}
입력:
translation.test.none=Hello, world!
translation.test.complex=Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!
translation.test.escape=%%s %%%s %%%%s %%%%%s
translation.test.invalid=hi %
translation.test.invalid2=hi % s
translation.test.args=%s %s
translation.test.world=world
산출:
{
"translation.test.none": "Hello, world!",
"translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!",
"translation.test.escape": "%%s %%%s %%%%s %%%%%s",
"translation.test.invalid": "hi %",
"translation.test.invalid2": "hi % s",
"translation.test.args": "%s %s",
"translation.test.world": "world",
}
입력:
stat.mineBlock=%1$s Mined
stat.craftItem=%1$s Crafted
stat.useItem=%1$s Used
stat.breakItem=%1$s Depleted
산출:
{
"stat.mineBlock": "%1$s Mined",
"stat.craftItem": "%1$s Crafted",
"stat.useItem": "%1$s Used",
"stat.breakItem": "%1$s Depleted"
}
=
있습니까?
tile.dirt.name
이 될"block.minecraft.dirt"
?