J'essaie d'analyser une sortie d'un serveur qui ressemble à ceci:
{
"GetFolderFilesByZoneResult": [
{
"ID": 98748,
"CreatedBy": "",
"UpdatedBy": "none",
"CreatedDate": "\/Date(1308273033620+0100)\/",
"UpdatedDate": "\/Date(1308303003770+0100)\/",
"CommentCount": 0,
"Key": "",
"Enabled": true,
"MimeType": "video",
"Votes": 2,
"TotalRating": 0,
"AllowComments": true,
"ViewCount": 323,
"ReleaseDate": "\/Date(1308273000000+0100)\/",
"ExpireDate": "\/Date(4102444800000+0000)\/",
"Author": "",
"Size": 133799936,
"Tag1": "",
"Tag2": "",
"Tag3": "",
"RecycleBin": false
},
{
"ID": 99107,
"CreatedBy": "",
"UpdatedBy": "none",
"CreatedDate": "\/Date(1308583412520+0100)\/",
"UpdatedDate": "\/Date(1308583564007+0100)\/",
"CommentCount": 0,
"Key": "",
"Enabled": true,
"MimeType": "video",
"Votes": 0,
"TotalRating": 0,
"AllowComments": true,
"ViewCount": 33,
"ReleaseDate": "\/Date(1308583380000+0100)\/",
"ExpireDate": "\/Date(4102444800000+0000)\/",
"Author": "",
"Size": 47955968,
"Tag1": "",
"Tag2": "",
"Tag3": "",
"RecycleBin": false
}
]
}
J'essaie d'utiliser Java org.json pour l'analyser, mais je n'ai aucune expérience avec JSON/org.json, donc j'ai un petit problème. Comment puis-je analyser cela?
1) En supposant que vous ayez les bibliothèques JSON sur votre chemin (depuis www.json.org), c'est assez facile.
import org.json.JSONTokener;
...
URI uri = new URI("http://someserver/data.json");
JSONTokener tokener = new JSONTokener(uri.toURL().openStream());
JSONObject root = new JSONObject(tokener);
De là, vous pouvez adresser les différentes parties de l'objet JSON. Jetez un œil aux Javadocs pour les détails. https://developer.Android.com/reference/org/json/package-summary.html
Voici la solution la plus universelle, qui permet d'analyser n'importe quel type JSON en type Java Java:
Object json = new JSONTokener(response).nextValue();
Ensuite, vous pouvez déterminer le type résultant et le gérer de manière appropriée.