2016-10-14 5 views
-1

поэтому я прочитал некоторые заданные вопросы об этом, но я думаю, что люди неправильно поняли, что такое многомерный массив.Как разобрать многомерный массив в JSON для android

В моем случае я хочу проанализировать «реальный» 2-й массив, мне нужно разобрать JSON с координатами, чтобы поместить маркеры и рисовать линии. Я легко разобрать маркеры, но для линий у меня есть этот тип данных:

"coordinates": [ 
     [ 
     2.33849, 
     48.8896, 
     0 
     ], 
     [ 
     2.33847, 
     48.88955, 
     0 
     ], 
     [ 
     2.33846, 
     48.88951, 
     0 
     ], 
     ..... 

Если я просто «JSONArray строки = geometry.getJSONArray (» координаты «);» У меня не будет того, что мне нужно, это массивы координат.

Как я могу сделать, чтобы каждый массив с двумя координатами?

Любые советы, комментарии, примеры кода будут оценены! Спасибо

+0

Я не уверен, что вы просите, но JSONArray не является массивом Java, а массив Java не является реальным многомерным массивом. – Patrick

+0

Большинство людей думает, что массив JSON с несколькими объектами внутри - это многосимвольный массив. Мой случай - массив с массивом. как double [] [] не double [Object]. –

ответ

1
 JSONArray lines = geometry.getJSONArray("coordinates"); 
     double[][] coords = new double[lines.length()][]; 
     for (int i = 0; i < lines.length(); i++) { 
      JSONArray xyJson = lines.getJSONArray(i); 
      coords[i] = new double[xyJson.length()]; // length is always 2 
      for (int j = 0; j < xyJson.length(); j++) { 
       coords[i][j] = xyJson.getDouble(j); 
      } 
     } 
+0

Я попробую это, я думаю, это то, что я искал! Спасибо, я скажу вам, если это сработает. –

+0

Он отлично работает, спасибо вам большое! –

Смежные вопросы