次のような長い文字列の情報から"first_name"
andを抽出しようとしています。"last_name"
{
"123123123": {
"id": "12321312****",
"email": "***************",
"first_name": "Marcus",
"gender": "male",
"last_name": "Bengtsson",
"link": "https://www.facebook.com/app_scoped_user_id/123123123/",
"locale": "en_EN",
"middle_name": "Peter",
"name": "Marcus Peter Bengtsson"
}
}
私がそれを行う方法 (これはおそらくひどく間違っており、かなり悪い解決策です) は、最初に次のコードを使用して"first_name"
toから部分文字列を抽出することです。"link"
String subStr = str.substring(str.indexOf("first_name"), str.lastIndexOf("link"));
それから私は得る:
first_name":"Marcus","gender":"male","last_name":"Bengtsson","
次に、同じことを行いますが、":"
to"gender"
から を取得し"first_name
ます。
String firstNameOfUser = subStr.substring(subStr.indexOf(":")+2, subStr.lastIndexOf("gender")-3);
次に、同じこと"last_name"
:
String lastNameOfUser = subStr.substring(subStr.indexOf(""last_name"")+12, subStr.lastIndexOf(",")-1);
そして最後に、間にスペースを入れて両方の文字列を追加します。
String nameOfUser = new StringBuilder().append(firstNameOfUser).append(" ").append(lastNameOfUser).toString();
そして、私は得る:
Marcus Bengtsson
おそらくこれを行うにはもっと良い方法がありますが、その方法を理解することはできません。