JSONオブジェクトからすべてのスラッシュを削除して、それを配列リストに追加しようとしています。ここで私はRegexに入力したものに関係なく見えるものです: また、角かっこや重複する文字列を削除したいが、スラッシュを削除しようとしても機能していないので、私はそれを構築しようとしています。テストと同じように、文字列内のすべてと何かを置き換えようとしましたが、何を選んでも(アルファ数値であっても)動作しません。カテゴリリスト内の項目についてJava REGEX。特定のJSONオブジェクトでリプレースできません(文字列に変換)
出力例: "[[\" 地中海\ "\ "地中海\"]、[\ "ギリシャ語\"、\ "ギリシャ語\"]]"
private static final ArrayList<String> BusinessIDList = new ArrayList<>();
private static ArrayList<String> RatingList = new ArrayList<>();
private static ArrayList<String> cityList = new ArrayList<>();
private static ArrayList<String> stateList = new ArrayList<>();
private static ArrayList<String> addressList = new ArrayList<>();
private static ArrayList<String> categoryList = new ArrayList<>();
private static ArrayList<String> phoneList = new ArrayList<>();
private static ArrayList<String> nameList = new ArrayList<>();
private static void queryAPI(YelpAPI yelpApi, YelpAPICLI yelpApiCli) {
String searchResponseJSON = yelpApi.searchForBusinessesByLocation(yelpApiCli.term, yelpApiCli.location);
JSONParser parser = new JSONParser();
JSONObject response = null;
try {
response = (JSONObject) parser.parse(searchResponseJSON);
} catch (ParseException pe) {
System.out.println("Error: could not parse JSON response:");
System.out.println(searchResponseJSON);
System.exit(1);
}
JSONArray businesses = (JSONArray) response.get("businesses");
for (int i = 0; i < businesses.size(); i++) {
JSONObject temp = (JSONObject) businesses.get(i);
JSONObject temp1 = (JSONObject) temp.get("location");
BusinessIDList.add(temp.get("id").toString());
RatingList.add(temp.get("rating").toString());
cityList.add(temp1.get("city").toString());
stateList.add(temp1.get("state_code").toString());
phoneList.add(temp.get("phone").toString());
String tempCat = temp.get("categories").toString();
tempCat = tempCat.replaceAll("\\\\", " ");
categoryList.add(tempCat);
String tempAdr = temp1.get("address").toString();
tempAdr = tempAdr.replaceAll("\\\\", " ");
addressList.add(tempAdr);
nameList.add(temp.get("name").toString());
}
これを単純にしましょう。 'String t =" [[\\\ "Med \\\"、\\\ "med \\\"] "; t = t.replaceAlll( "\\\\"、 ""); System.out.println(t); ' – dlamblin
あなたの問題は再現できませんが、コードは不完全で、単独では実行できません。問題を再現する[mcve]を投稿してください。 –
確かに1秒、それについて申し訳ありません。 – Remixt