java(eclipse)を使ってjsonファイルの内容を読み出しをしたいです。
以下が私が書いたコードと抽出したいjsonファイルになります。
jsonファイルはもっとデータがあるのですが、それを省いて質問させて頂きました。
その場合はループなどを使用することになりますか?
抽出したい物としては、それぞれUserの”name”と"retweeted_status"の中にある"text"になります。
ーjsonファイル
{ "created_at":"Wed Dec 17", "id":545025256960, "id_str":"5450256960", "text":"hello world", "user":{ "id":275881, "id_str":"275881", "name":"Json", }, "retweeted_status":{ "created_at":"Wed Dec 16", "id":545020558720, "id_str":"545058558720", "text":"twitter", "user":{ "id":874136, "id_str":"874136", "name":"Farmony", "screen_name":"Fiftony", } } } {....... }
他にも同じ構成で内容違いのデータがたくさんあります。
javaファイル
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import com.google.gson.*; public class Retweet { public static void main(String[] args) { String fileName = "/Users/jsonfile.txt"; try { JSONObject myobject = (JSONObject) new JSONParser().parse(new FileReader(fileName)); JSONObject originTweet = (JSONObject) myobject.get("retweeted_status"); JSONObject originUser = (JSONObject) originTweet.get("user"); JSONObject user = originUser.get(0).getJSONObject(); String user = originUser.getAsString("id"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } String str = "{\"retweeted_status\":\"U}"; } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。