2016-08-14 3 views
0

私はitems.jsonと呼ばれるJSONファイルを持っている、これは、そのファイル内に含まれているものです。Java - JSONファイルからJSONを読み込み、各要素を印刷しますか?

[ 
    { 
    "id": 8484, 
    "name": "David", 
    "height": "6", 
    "weight": 165, 
    } 
] 

私は名前とidをプリントアウトするgsonを使用しようとしています。

私はそれをプリントアウトしたい:

David 8484 

私は、この特定の状況のた​​めの多くの例が、どれも仕事を探してきた、または多分彼らは私は初心者ですし、それが簡略化され必要なのです。あなたが提供できるお手伝いをありがとう。

私の質問はどのように私はこれを達成することができますか?私はこの問題を現在のコードで編集しますが、それは1分後には機能しません。

+1

どのようなコードがありますか? –

+0

申し訳ありませんが、すぐにそれを編集するつもりです – David

+0

ジャクソンJSONライブラリを使用してこれを簡単にします。 – duffymo

答えて

1

まず、私たちに示すJSONが間違っています。有効な値は次のとおりです。

[ 
    { 
    "id": 8484, 
    "name": "David", 
    "height": "6", 
    "weight": 165 
    } 
] 

最後のカンマを削除する必要があります。

Gsonの使い方は?それは簡単です。 JSONをPOJO(Plain Old Java Object)として表すクラスが必要です。 POJOは骨格に似ています。あなたの場合のために私はこのような何か書くでしょう:

public class Person { 
    public int id; 
    public String name; 
    public int height; 
    public int weight; 
} 

をしてから、このようGsonを使用します。

Gson gson = new Gson(); 
String json = "[{\"id\": 8484, \"name\": \"David\", \"height\": \"6\", \"weight\": 165}]"; 
//Because your JSON has array structure we need to give Gson array of our class 
Person[] person = gson.fromJson(json, Person[].class); 
//It will print: David 8484 
System.out.println(person[0].name + " " + String.valueOf(person[0].id)); 

私たちは、文字列が、FEとしてJSONを与える必要はありません。 JSONファイル(FileReader)の読者として。

もしそれが助けにならなかったら、あなたはプロジェクトにGsonを持っていないかもしれませんが、それは別の質問です。以下はGsonのユーザーガイドです:Gson User guide

関連する問題