Я хочу преобразовать JSON-файл в строку.Проблемы с преобразованием JSON в строковый массив
Я хочу, чтобы метод loadFromJSON(), чтобы принять все следующие из файла JSON и удалить их:
фигурные скобки
котировки
колоны
скобки.
Тогда метод разделит String на массив строк без пробелов.
Я ожидаю, что возвращаемая строка будет:
worldOne0000011111222225355worldTwo0000011111222225355
, которые затем можно было бы разделить на куски, как в следующем:
String worldName = "worldOne";
,
int[] data = {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2};
,
int worldWidth = 5;
,
int worldHeight = 3;
,
int xSpawn = 5;
,
int ySpawn = 5;
Мой текущий JSON файла:
{
"gameWorlds": [
{
"worldName": "worldOne",
"data": [
0, 0, 0, 0, 0,
1, 1, 1, 1, 1,
2, 2, 2, 2, 2
],
"worldWidth": 5,
"worldHeight": 3,
"xSpawn": 5,
"ySpawn": 5
},
{
"worldName": "worldOne",
"data": [
0, 0, 0, 0, 0,
1, 1, 1, 1, 1,
2, 2, 2, 2, 2
],
"worldWidth": 5,
"worldHeight": 3,
"xSpawn": 5,
"ySpawn": 5
}
]
}
Как будет идти об этом?
Ниже я пытаюсь решить проблему, которая в настоящее время не работает и нуждается в исправлении.
Преобразование JSON файл в строку []:
public void loadFromJSON(String fileName) {
String tempFile = TinyFile.loadFile("file.json");
String jsonFile = tempFile.replaceAll("\\}", " ") + tempFile.replaceAll("\\{", " ") + tempFile.replaceAll("\"", " ") +
tempFile.replaceAll(",", " ") + tempFile.replaceAll("\\]", " ") + tempFile.replaceAll("\\[", " ") + tempFile.replaceAll(":", " ");
String[] tokens = jsonFile.split("\\s+");
for (int i = 0; i < tokens.length; i++) {
TinyDebug.debug("tokens", tokens[i]);
}
}
LoadFile() внутри TinyFile.java:
public static String loadFile(String filePath) {
StringBuilder builder = new StringBuilder();
try {
BufferedReader bReader = new BufferedReader(new FileReader(filePath));
String line;
while((line = bReader.readLine()) != null) {
builder.append(line);
}
e.close();
} catch (IOException e) {
e.printStackTrace();
Util.printErrorMessage("File Not Found");
}
return builder.toString();
}
Если у вас есть лучшее решение, такое как способ чтения из файла JSON, пожалуйста, опубликуйте это ниже.
Используйте Джексон и карту непосредственно к POJO ... – fge
'Строка ключ = (String) jsonObject.get ("имя");' я не вижу "имя" ключ в отправил json. Кстати, Джексон является парсером JSON. http://tutorials.jenkov.com/java-json/jackson-jsonparser.html – Truthira
@ThanigaiArasu Извините, я изменил имя при создании этого вопроса. Должность должна отражать это сейчас. –