Reputation: 298
I'm currently parsing a JSON file to my Java Program and I ecounter a problem. I get a JSON array that can look like this for example:
[
{
"itemType": "magazineArticle",
"creators": [
{
"firstName": "J. Antonio",
"lastName": "Garcia-Macias",
"creatorType": "author"
},
{
"firstName": "Jorge",
"lastName": "Alvarez-Lozano",
"creatorType": "author"
},
{
"firstName": "Paul",
"lastName": "Estrada-Martinez",
"creatorType": "author"
},
{
"firstName": "Edgardo",
"lastName": "Aviles-Lopez",
"creatorType": "author"
}
],
"notes": [],
"tags": [],
"title": "Browsing the Internet of Things with Sentient Visors",
"publicationTitle": "Computer",
"volume": "44",
"issue": "5",
"ISSN": "0018-9162",
"date": "2011",
"pages": "46-52",
"abstractNote": "Unlike the traditional Internet, the emerging Internet of Things constitutes a mix of virtual and physical entities. A proposed IoT browser enables the exploration of augmented spaces by identifying smart objects, discovering any services they might provide, and interacting with them.",
"extra": "CICESE Research Center, Mexico; CICESE Research Center, Mexico; CICESE Research Center, Mexico; CICESE Research Center, Mexico",
"libraryCatalog": "IEEE Computer Society"
}
]
The problem is I have to do a check each time I parse if the field called "extra" is in the array, since it's not included every time i parse. So how do I do that check to see if the field "extra" exists?
Upvotes: 0
Views: 143
Reputation: 124
Use "has" method of JSONObject like this:
Array.getJSONObject(j).has("extra")
Upvotes: 1
Reputation: 11969
Without framework, you can use JSONObject
and JSONArray
from org.json.*
. Here is an example (not tested). It will allows you to check if the extra
key is present
String jsonAsString = "/*Your json as a String*/";
JsonArray jsonArray = new JSONArray(jsonAsString);
for(int i=0; i<jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
//Get values from your jsonObject
jsonObject.has("extra"); //Check if extra is present
}
Upvotes: 1