קבל ערך לפי מפתח ב- JSONArray

1. סקירה כללית

JSON הוא פורמט החלפת נתונים בלתי-משקל ושפה עצמאי המשמש לרוב תקשורת שרת הלקוח.

JSONObject ו JSON מערך הן שתי המחלקות הנפוצות הקיימות בדרך כלל ברוב ספריות העיבוד של JSON. א JSONObject מאחסן זוגות ערכי מפתח לא מסודרים, ממש כמו ג'אווה מַפָּה יישום. א JSON מערך, לעומת זאת, הוא רצף ערכים מסודר ממש כמו א רשימה או א וֶקטוֹר בג'אווה.

במדריך זה נשתמש JSON-Java (org.json) הספרייה ולמד כיצד לעבד א JSON מערך כדי לחלץ ערך עבור מפתח נתון. במידת הצורך, יש לנו מבוא לספרייה זו.

2. תלות של Maven

ראשית נתחיל בהוספת התלות שלהלן ב- POM שלנו:

 org.json json 20180813 

אנחנו תמיד יכולים לגלות את הגרסה האחרונה של JSON-Java במרכז מייבן.

3. הצטברות הקשר

הודעת JSON מורכבת בדרך כלל מחפצי JSON ומערכים שעשויים להיות מקוננים זה בזה. א JSON מערך האובייקט מוקף בסוגריים מרובעים [ ] ואילו א JSONObject סגור בתוך סוגריים מתולתלים {}. לדוגמה, בואו ניקח בחשבון את הודעת JSON זו:

[{"name": "John", "city": "chicago", "age": "22"}, {"name": "Gary", "city": "florida", "age": "35 "}, {" name ":" Selena "," city ":" vegas "," age ":" 18 "}]

ברור שזה מערך אובייקטים של JSON. כל אובייקט JSON במערך זה מייצג את שיא הלקוחות שלנו שם, גיל, ו עִיר כתכונותיו או המפתחות שלו.

4. עיבוד JSON מערך

בהתחשב ב- JSON הנ"ל, מה אם נרצה לברר את שמות כל הלקוחות שלנו? במילים אחרות, ניתן מפתח, "שֵׁם" בדוגמה שלנו, כיצד נוכל למצוא את כל הערכים הממופים למפתח זה במערך JSON נתון?

כידוע, א JSON מערך היא רשימה של אובייקטים JSON. אז בואו נמצא את כל הערכים עבור מפתח נתון:

רשימה ציבורית getValuesForGivenKey (מחרוזת jsonArrayStr, מפתח מחרוזת) {JSONArray jsonArray = חדש JSONArray (jsonArrayStr); להחזיר IntStream.range (0, jsonArray.length ()) .mapToObj (אינדקס -> ((JSONObject) jsonArray.get (אינדקס)). optString (מפתח)) .collect (Collectors.toList ()); }

בדוגמה הקודמת:

  • ראשית, אנו חוזרים על כל רשימת האובייקטים במערך JSON
  • ואז לכל אחד JSONObject, אנו מקבלים את הערך הממופה למפתח הנתון

כמו כן, השיטה optString () מחזיר מחרוזת ריקה אם לא קיים מפתח כזה.

על הפעלת getValuesForGivenKey (jsonArrayStr, "שם") איפה jsonArrayStr הוא הדוגמה שלנו JSON, נקבל רשימה של כל השמות כמוצא:

[ג'ון, גארי, סלינה]

5. מסקנה

במאמר מהיר זה למדנו כיצד לנתח א JSON מערך כדי לקבל את כל הערכים הממופים עבור מפתח נתון. הנה, השתמשנו JSON-Java (org.json) סִפְרִיָה.

JSON.simple היא עוד אלטרנטיבה דומה וחזקה לעבודה עם JSON בג'אווה. אל תהסס לחקור.

כרגיל, קוד המקור השלם זמין ב- Github.


$config[zx-auto] not found$config[zx-overlay] not found