logo

כיצד לקבל ערך מאובייקט JSON בדוגמה של Java

JSON הוא פורמט להחלפת נתונים. זהו פורמט קל משקל ובלתי תלוי בשפה בשימוש נרחב. הוא מסוגל להמיר נתונים מ-JSON ל-XML. Java מספקת מספר רב של חבילות JSON. בעזרת חבילות אלו נוכל לאחזר או קבל ערך מ-JSONObject. השתמשנו בשתי חבילות JSON השונות org.json ו org.json.simple . בחלק זה נלמד כיצד לקבל ערכים מ-JSONObject ב-Java עם דוגמה נכונה.

מה זה JSONObject ב-Java?

ב Java , JSONObject הוא אוסף לא מסודר המכיל נתונים בצורה של שם-ערך זוגות. הוא מסומן כמחרוזת העטופה בזוג פלטה מתולתלת עם נקודתיים בין השמות והערכים. הצורה הפנימית שלו היא אובייקט שצריך לקבל ולשים שיטות לגישה לערכים לפי שם ולהוספה והחלפה של ערכים לפי שם.

 { 'first name': 'John', 'city': 'Florida', 'age': '22' }, 

בדוגמה לעיל, שם פרטי, עיר, ו גיל הם שמות, ו ג'ון, פלורידה, ו 22 הם הערכים שלהם, בהתאמה.

dateformat.format java

Java JSONObject Class

Java מספקת את המחלקה JSONObject המוגדרת ב- org.json חֲבִילָה. זה מציין ערך JSONObject בלתי ניתן לשינוי (בלתי ניתן לערעור). ערך האובייקט הוא an לא מסודר קבוצה של שם-ערך זוגות. זה גם מספק מפה כדי להציג את מיפוי שם-ערך של אובייקט JSON שאינו ניתן לשינוי. ערכי JSONObject יכולים להיות Boolean, String, Number, JSONObject, JSONArray, JSONNumber, JSONString וכו'. ניתן לגשת לערכי JSONObject אלה באמצעות שיטות הגישה השונות המתאימות.

ה לקבל() מתודה מחזירה ערך אם היא מוצאת וזורקת חריג אם הערך לא נמצא. בזמן ש העדיף() השיטה מחזירה את ערך ברירת המחדל במקום לזרוק את החריג. הערך עשוי להיות null. זה ההבדל העיקרי בין שתי השיטות הללו. לפיכך, שתי השיטות הללו שימושיות כדי לקבל את הערך מה-JSONObject. אנו יכולים להטיל או לבצע שאילתות על אובייקט המוחזר בשיטות הגנריות get() ו-opt().

ה JSONObject המחלקה מכילה את השיטות הבאות שבהן נוכל להשתמש כדי לקבל ערכים מה-JSONObject.

שיטת getBoolean()

השיטה מנתחת שם פרמטר מסוג String. הוא מחזיר ערך בוליאני של המיפוי הקשור עבור הפרמטר של הניתוח. היא מחזירה true אם המיפוי המשויך הוא JsonValue.TRUE ומחזירה false אם המיפוי המשויך הוא JsonValue.FALSE.

תחביר:

 boolean getBoolean(String name) 

זה זורק NullPointerException אם לשם שצוין אין מיפוי. זה גם זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonValue.TRUE או JsonValue.FALSE.

getInt() Method

הוא משמש כדי לקבל את JsonNumber(שם).intValue(). השיטה מנתחת שם פרמטר מסוג String. הוא מחזיר ערך שלם של המיפוי המשויך לפרמטר המנתח.

תחביר:

 int getInt(String name) 

זה זורק NullPointerException אם לשם שצוין אין מיפוי. זה גם זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonNumber.

כוח מטמון נקי npm

שיטת getJsonArray()

הוא משמש כדי לקבל את JsonArray get(שם). השיטה מנתקת שם ארגומנט מסוג String שיש להחזיר את הערך המשויך לו. הוא מחזיר ערך מערך של המיפוי המשויך לפרמטר הניתוח. זה מחזיר null אם לאובייקט אין מיפוי עבור הפרמטר.

תחביר:

 JsonArray geJsonArray(String name) 

זה זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonArray.

שיטת getJsonNumber()

הוא משמש כדי לקבל את (JsonNumber)get(name). השיטה מנתקת שם ארגומנט מסוג String שיש להחזיר את הערך הקשור אליו. הוא מחזיר את ערך המספר של המיפוי המשויך לפרמטר הניתוח. זה מחזיר null אם לאובייקט אין מיפוי עבור הפרמטר.

תחביר:

 JsonNumber geJsonNumber(String name) 

זה זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonNumber.

שיטת getJsonObject()

הוא משמש כדי לקבל את (JsonObject)get(name). השיטה מנתקת שם ארגומנט מסוג String שיש להחזיר את הערך הקשור אליו. הוא מחזיר את האובייקט של המיפוי המשויך לפרמטר הניתוח. זה מחזיר null אם לאובייקט אין מיפוי עבור הפרמטר.

pvr טופס מלא

תחביר:

 JsonObject geJsonObject(String name) 

זה זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonObject.

שיטת getJsonString()

הוא משמש כדי לקבל את (JsonString)get(name). השיטה מנתקת שם ארגומנט מסוג String שיש להחזיר את הערך הקשור אליו. הוא מחזיר את ערך המחרוזת של המיפוי המשויך לפרמטר המנתח. זה מחזיר null אם לאובייקט אין מיפוי עבור הפרמטר.

תחביר:

 JsonString geJsonString(String name) 

זה זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonString.

getString() שיטה

הוא משמש כדי לקבל את getJsonString(name).getString() . השיטה מנתקת שם ארגומנט מסוג String שהערך הקשור אליו יוחזר כמחרוזת. הוא מחזיר את ערך המחרוזת של המיפוי המשויך לפרמטר המנתח.

תחביר:

 String geString(String name) 

זה זורק NullPointerException אם לשם שצוין אין מיפוי. זה גם זורק ClassCastException מיפוי השמות שצוין אינו ניתן להקצאה ל-JsonString.

בואו ניצור תוכנית ונקבל ערך מאובייקט JSON על ידי שימוש בשיטות לעיל.

הערה: לפני השימוש בקוד הבא, הורד את הקובץ json-20200518.jar קובץ והוסף אותו לפרויקט שלך.

כיצד לקבל ערך מאובייקט JSON בדוגמה של Java

GetValueFromJsonExample.java

 import org.json.*; public class GetValueFromJsonExample { public static void main(String[] args) throws JSONException { //constructor of the JSONObject class JSONObject obj = new JSONObject( '{' + 'Employee ID: 092789,' + 'Employee Name: Helen Mirren,' + 'Age: 27, ' + 'Designation: Assistant Manager,' + 'City: Florida,' + 'Salary: 67000.00, ' + 'Experience: 26 ' + '}' ); //getting values form the JSONObject System.out.println('Employee ID: '+obj.getInt('Employee ID')); System.out.println('Employee Name: '+obj.getString('Employee Name')); System.out.println('Age: '+obj.getInt('Age')); System.out.println('Designation: '+obj.getString('Designation')); System.out.println('City: '+obj.getString('City')); System.out.println('Salary: '+obj.getDouble('Salary')); System.out.println('Experience: '+obj.getInt('Experience') +' Months'); } } 

תְפוּקָה:

כיצד לקבל ערך מאובייקט JSON בדוגמה של Java

בואו נשתמש בספריית JSON אחרת ונקבל ערכים מה-JSONObject. בתוכנית הבאה, השתמשנו ב- json-פשוט סִפְרִיָה. לפני השימוש בתוכנית הבאה, הורד את קובץ json-simple-1.1.1.jar והוסף אותו לפרויקט שלך.

Java מפוצלת מחרוזת לפי מפריד
כיצד לקבל ערך מאובייקט JSON בדוגמה של Java

GetValueFromJsonObjectExample.java

 import org.json.simple.JSONObject; import org.json.simple.JSONValue; public class GetValueFromJsonObjectExample { public static void main(String[] args) { //defining a JSON string String s='{'name':'William Hill','Salary':67000.0,'age':42}'; Object obj=JSONValue.parse(s); //creating an object of JSONObject class and casting the object into JSONObject type JSONObject jsonObject = (JSONObject) obj; //getting values form the JSONObject and casting that values into corresponding types String name = (String) jsonObject.get('name'); double salary = (Double) jsonObject.get('Salary'); long age = (Long) jsonObject.get('age'); //printing the values System.out.println('Name: '+name); System.out.println('Salary: '+salary); System.out.println('Age: '+age); } } 

תְפוּקָה:

כיצד לקבל ערך מאובייקט JSON בדוגמה של Java