2015-01-27 3 views
0

Я новичок в формате JSON.Проблема при конвертации в формат JSON с использованием Gson

Я пытаюсь передать значение для графика в jQuery.

Значение, которое я должен передать что-то вроде

var hours = [ 
    ["Jan", 1], 
    ["Feb", 2], 
    ["Mar", 3] 
]; 

В графике эти часы передаются данным

var plot_statistics = jQuery.plot($("#site_stat"), [{ 
    data: hours, 
    label: "Hours Lost" 
}]); 

Я пытался сделать это с помощью HashMap, но я не получил желаемый выход.

final HashMap<String, Number> columnMap = new HashMap<String, Number>(); 

columnMap.put("jan", num); 

Gson gson = new Gson(); 

gson.toJson(columnMap); 

Пожалуйста, помогите мне решить эту проблему

ответ

1

[] список в формате JSON, так что ваш прототип имеет список списков. Из этого описания, что вы хотите, List<List<Object>>.

List<List<Object>> outer = new ArrayList<>(); 
List<Object> inner = new ArrayList<>(); 

inner.add("Jan"); 
inner.add(1); 
outer.add(inner); 

inner = new ArrayList<>(); 
inner.add("Feb"); 
inner.add(2); 
outer.add(inner); 

inner = new ArrayList<>(); 
inner.add("Mar"); 
inner.add(3); 
outer.add(inner); 

Gson gson = new Gson(); 
gson.toJson(outer); 
+0

Если я использую Java 6, тогда это не будет работать правильно? – testMan

+0

@testMan Правильно, он использует алмазный оператор <>. Но это простое решение, чтобы заставить его работать на Java 6. Просто укажите общий тип. – user489041

+0

@PaulProgrammer благодарит миллион – testMan

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