私はゲームに取り組んでおり、特定のオブジェクトが保持するアイテムを「TiledMap エディター」で定義できるオブジェクトを実装しています。そこで、アイテム ID を {22:4, id:amount} のように入力できる場所を考えました。マップを解析すると、その配列が文字列として取得されます。それを配列に変換する方法はありますか?
前もって感謝します!
私はゲームに取り組んでおり、特定のオブジェクトが保持するアイテムを「TiledMap エディター」で定義できるオブジェクトを実装しています。そこで、アイテム ID を {22:4, id:amount} のように入力できる場所を考えました。マップを解析すると、その配列が文字列として取得されます。それを配列に変換する方法はありますか?
前もって感謝します!
まず、おそらくやMap
ではなく が必要です。array
List
Map<String,String> processParams(String list) {
Map<String,String> = new HashMap<String,String>();
int openBracket = list.indexOf("{");
int closeBracket = list.lastIndexOf("}");
String params = list.substring(openBracket+1,closeBracket);
String paramList = params.split(",");
for(String param: paramList) {
String pData = param.trim().split(":");
map.put(param[0].trim(),param[1].trim());
}
return map;
}
processParams("{22:4, id:amount}");
もちろん、これは実際には JSON のような構造なので、既存のパーサーが存在する可能性があります。