Обрабатывать внутренний массив как массив объектов и при необходимости их типизировать.
Вот упрощенный пример синтаксического анализа части «asks»
JSONObject jsonObj = new JSONObject(line);
JSONArray asks = jsonObj.getJSONArray("asks").getJSONArray(0);
Double ask = 0.0;
for (Object o : asks) {
if (o instanceof String){
ask = Double.valueOf((String)o);
} else {
ask = (Double)o;
}
//do something with ask
}
Обновление
Вот еще один способ доступа к данным
JSONObject jsonObj = new JSONObject(line);
SONArray asks = jsonObj.getJSONArray("asks").getJSONArray(0);
Double price = Double.valueOf(asks.getString(0));
Double qty = Double.valueOf(asks.getDouble(1));
System.out.printf("Ask price: %.6f, quantity %.4f", price, qty);
Это строка, которую я использовал для проверки своего кода
String json = "{\"asks\":[[\"107.47649000\",25.3039]],\"bids\":[[\"107.06385000\",64.9317]],\"isFrozen\":\"0\",\"seq\":298458396}";
, и вот результат, который я получил
Запросить цену: 107,476490, количество 25,3039