Вложенный JSONObject - PullRequest
       8

Вложенный JSONObject

1 голос
/ 29 июня 2010

У меня несколько проблем с JSONObjects и JSONArray.
Я хотел бы проанализировать этот файл json:

[{
  "SourceFile": "AndresIniesta.flv",
  "ExifTool": {
    "ExifToolVersion": 8.22
  },
  "System": {
    "FileName": "AndresIniesta.flv",
    (...)
  },
  "File": {
    "FileType": "FLV",
    "MIMEType": "video/x-flv"
  },
  "Flash": {
    "Duration": "04:09",
    "Starttime": 0,
    "Totalduration": 249.36,
    "ImageWidth": 320,
    (...)
  },
  "Composite": {
    "ImageSize": "320x240"
  }
}]

Но не все из них, только поле Flash.
ВесьФайл представляет собой JSONArray, но содержит только 1 элемент.Я получил Flash, заполненный этим фрагментом кода:

JsonMappingException, IOException {

String a = new String ();
InputStream is = this.getClass() .getClassLoader (). getResourceAsStream ("a.json");
Строка jsonTxt = IOUtils.toString (is);
JSONArray json = (JSONArray) JSONSerializer.toJSON (jsonTxt);
JSONObject flash= json.getJSONObject (0);

System.out.print ("flash ->" + flash.getString ("Flash"));

Но я не знаю, как получить доступ ккаждый из Flash-файлов, lis Duration, Starttime ... и т. д.

Когда я пытаюсь сделать это следующим образом:

String canseekontime = flash.getString ("Canseekontime");
int starttime = flash.getInt ("Starttime");
Double duration = flash.getDouble ("Duration");

Я получаю эту ошибку:
net.sf.json.JSONException: JSONObject["Duration"] нетнайдено.

Любая помощь ??

Заранее спасибо

1 Ответ

2 голосов
/ 29 июня 2010

Вы имеете в виду

JSONObject flash = json.getJSONObject(0); 
JSONObject Flash = flash.getJSONObject("Flash"); 
int starttime = Flash.getInt("Starttime"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...