0

I used the code to get a Jsonarray

JSONArray preferenceobj = (JSONArray) personobj.get("preferences");

The a json array like this code bellow. How can I get individual value of ratings.

   [{
    "rating": 3,
    "documentId": "TRECCS-00674898-160",
    "tags": ["Romantic", "Seafood", "Family Friendly"]
}, {
    "rating": 2,
    "documentId": "TRECCS-00247656-160",
    "tags": ["Bar-hopping"]
}, {
    "rating": 3,
    "documentId": "TRECCS-00085961-160",
    "tags": ["Gourmet Food"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00086637-160",
    "tags": ["Family Friendly", "Local Food", "Entertainment"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00086308-160",
    "tags": ["Family Friendly", "Tourism"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00086622-160",
    "tags": ["Healthy Food", "Romantic", "Gourmet Food"]
}, {
    "rating": 2,
    "documentId": "TRECCS-00809111-160",
    "tags": ["Wellness", "Family Friendly", "Sport"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00086310-160",
    "tags": ["Family Friendly", "Sport"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00340169-160",
    "tags": ["Fashion Bargains", "Live Music", "Shopping for accessories", "Family Friendly"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00018110-160",
    "tags": ["Healthy Food", "Family Friendly", "Local Food", "Organic Food"]
}, {
    "rating": 2,
    "documentId": "TRECCS-00085880-160",
    "tags": ["Romantic", "Sailing", "Seafood"]
}, {
    "rating": 4,
    "documentId": "TRECCS-00259825-152",
    "tags": ["Family Friendly", "Budget Friendly"]
}]
Darshan Lila
  • 5,772
  • 2
  • 24
  • 34
SOURAV
  • 314
  • 3
  • 4
  • 15

2 Answers2

1

Use this:

JSONArray preferenceobj = (JSONArray) personobj.get("preferences");
List<Integer> ratings = new ArrayList<>();

for(int i = 0; i < preferenceobj.length(); i++) {
    JSONObject obj = preferenceobj.getJSONObject(i);

    int rating = obj.getInt("rating"); // Your rating
    ratings.add(rating);
}

// Show ratings
for(Integer rating : ratings) {
    System.out.println(rating);
}
Mohammed Aouf Zouag
  • 17,042
  • 4
  • 41
  • 67
-1

The answer I solved using the prvious comment of Srarta is:

JSONArray preferenceobj = (JSONArray) personobj.get("preferences");
                List<Long> ratings = new ArrayList<>();

                for(int i = 0; i < preferenceobj.size(); i++) {
                    JSONObject obj1 = (JSONObject) preferenceobj.get(i);

                    Long rating = (Long)obj1.get("rating");
                    ratings.add(rating);
                }

                // Show ratings
                for(Long rating : ratings) {
                    System.out.println(rating);
                }
SOURAV
  • 314
  • 3
  • 4
  • 15