Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Basic4android > Basic4android Getting started & Tutorials > German Tutorials
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

German Tutorials Basic4android German tutorials.
Please post questions in the German forum.

Android JSON Tutorial

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-11-2011, 10:31 PM
klaus's Avatar
Basic4ppc Expert
 
Join Date: Oct 2007
Location: Fully, Switzerland
Posts: 4,463
Awards Showcase
Forum Contributer Beta Tester Competition Winner 
Total Awards: 3
Default Android JSON Tutorial

JSON ist ein ähnliches Format wie XML, aber normalerweise kürzer und einfacher zu zergliedern.
Etliche Webservices arbeiten jetzt mit JSON.

JSON offizieller Website: JSON

Das Englische Originaltutorial.

Mit der neuen JSON Library, kann man leicht JSON Strings zergliedern und erstellen.

Als Beispiel werden wir folgenden JSON String analysieren:

Code:
{"menu": {
  
"id""file",
  
"value""File",
  
"popup": {
    
"menuitem": [
      {
"value""New""onclick""CreateNewDoc()"},
      {
"value""Open""onclick""OpenDoc()"},
      {
"value""Close""onclick""CloseDoc()"}
    ]
  }
}}
Dieses Beispiel kommt von json.org/examples.
Geschweifte Klammern entsprechen einem Objekt und eckige Klammern entsprechen einem Array.
Objekte enthalten Schlüsselwort/Wert Paare und Arrays enthalten Listen von Elementen. Kommas trennen die Elemente.

In diesem Beispiel, ist der Wert der obersten Ebene ein Objekt. Dieses Objekt enthält ein einziges Objekt mit dem Schlüsselwort "menu".
"value" in dem "menu" Objekt ist ein anderes Objekt des mehrere Werte enthält.
Wir holen das "menuitem" Element, das ein Array von Elementen enthält und zeigen die Werte des "value" Elements in LogCat an.

In der Analyse des Strings werden JSON Objekte in Maps umgewandelt und Arrays werden in Listen umgewandelt.
Wir lesen den String von einer Datei die wir mit dem Files Manager (Files tab) zugefügt hatten.

Code:
    Dim JSON As JSONParser
Dim Map1 As Map
JSON.Initialize(
File.ReadString(File.DirAssets, "example.json"))
Map1 = JSON.NextObject
Dim m As Map 'helper map for navigating
Dim MenuItems As List
m = Map1.Get(
"menu")
m = m.Get(
"popup")
MenuItems = m.Get(
"menuitem")
For i = 0 To MenuItems.Size - 1
    m = MenuItems.Get(i)
    
Log(m.Get("value"))
Next
JSON.NextObject zergliedert den String und gibt eine Map mit den zergliederten Daten zurück. Diese Methode darf nur aufgerufen werden wenn der Wert der obersten Ebene ein Objekt ist (was üblicherweise der Fall ist).
Jetzt arbeiten wir mit Map1 um die Werte zu erhalten.
Wir deklarieren eine weitere Map mit dem Name 'm'.

Code:
m = Map1.Get("menu")
Dem Objekt "menu" ist die Map 'm' zugewiesen.

Code:
m = m.Get("popup")
Jetzt wird die Map m dem Objekt "popup" zugewiesen.

Code:
MenuItems = m.Get("menuitem")
Das Array "menuitem" ist der MenuItems Liste zugewiesen.
Wir werden die Elemente durchlaufen (Maps in unserem Fall) und die Werte mit dem Schlüsselwort "value" in LogCat anzeigen.
Code:
    For i = 0 To MenuItems.Size - 1
    m = MenuItems.Get(i)
    
Log(m.Get("value"))
Next
Die Anzeige in LogCat ist:
New
Open
Close

Ein JSON Strings wird ähnlich erstellt. Wir erstellen eine Map oder eine Liste die die Werte enthält und dann konvertieren wir sie mit JSONGenerator in den JSON String:

Code:
    Dim Data As List
Data.Initialize
Data.Add(
1)
Data.Add(
2)
Data.Add(
3)
Data.Add(Map1) 
'add the previous map loaded from the file.
Dim JSONGenerator As JSONGenerator
JSONGenerator.Initialize2(Data)
Msgbox(JSONGenerator.ToPrettyString(2), "")
JSONGenerator kann mit einer Map oder Liste initialisiert werden.
Die Umwandlung der Daten in einen JSON String wird durch den Aufruf von ToString oder ToPrettyString durchgeführt.
ToPrettyString fügt Einzüge hinzu was leichter zu lesen und zu debuggen ist.



Programmdateien:
JSONExample.zip
__________________
Klaus
Switzerland

Beginner's Guide / User's Guide

Last edited by klaus : 02-11-2011 at 10:33 PM.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Android Serial tutorial Erel Basic4android Getting started & Tutorials 78 05-20-2012 05:39 AM
Android JSON tutorial Erel Basic4android Getting started & Tutorials 5 05-07-2012 03:33 AM
Android Network Tutorial Erel Basic4android Getting started & Tutorials 56 03-22-2012 07:26 AM
Android Views Animation Tutorial klaus German Tutorials 4 01-29-2012 11:13 AM
Android Serial Tutorial klaus German Tutorials 0 01-26-2011 09:05 PM


All times are GMT. The time now is 11:21 PM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0