Список <Карта <Строка, Объект>> к org.json. JSONObject?

<h4>@(item.Quantity != 0? $"({item.Quantity})" : "")</h4>

Когда вы наберете @(), все внутри () будет выполнено как код C #

14
задан CSchulz 2 February 2012 в 16:32
поделиться

5 ответов

Необходимо закончить с JSONArray (соответствующий Списку) JSONObjects (Карта).

Попытка, объявляющая json переменную, поскольку, JSONArray вместо JSONObject (я верю конструктору JSONArray, сделает правильную вещь).

2
ответ дан 1 December 2019 в 08:53
поделиться

Вам вложили карту в списке. Вы пытаетесь назвать Карту, никогда не выполняя итерации через список сначала. JSON иногда чувствует себя подобно волшебству, но на самом деле это не. Я отправлю некоторый код через мгновение.
Это более согласовывалось бы с JSON для создания Карты Карт вместо Списка Карт.

JSONObject json = new JSONObject(list);
Iterator<?> it = json.keys();
while (keyed.hasNext()) {
    String x = (String) it.next();
    JSONObject jo2 = new JSONObject(jo.optString(x));
}
1
ответ дан 1 December 2019 в 08:53
поделиться

Также: Вы могли рассмотреть использование одного из других синтаксических анализаторов из списка json.org: большинство из них позволяет Вашему Json "объекты" и "массивы" для отображения исходно на java.util. Карты и java.util. Списки; или в некоторых случаях к реальному Java возражает также.

Моей рекомендацией был бы Jackson, http://jackson.codehaus.org/Tutorial , который допускает отображение на Список/Карту/Целое число/Строку/Булевскую переменную/пустой указатель, а также на реальный Beans/POJOs. Просто дайте ему тип, и это отображает данные на Вас или пишет объекты Java как Json. Другие как "json-инструменты" от berlios или google-gson также представляют схожую функциональность.

1
ответ дан 1 December 2019 в 08:53
поделиться

У меня это сработало:

List<JSONObject> jsonCategories = new ArrayList<JSONObject>();

JSONObject jsonCategory = null;

for (ICategory category : categories) {
    jsonCategory = new JSONObject();
    jsonCategory.put("categoryID", category.getCategoryID());
    jsonCategory.put("desc", category.getDesc());
    jsonCategories.add(jsonCategory);
}
try {
    PrintWriter out = response.getWriter();
    response.setContentType("text/xml");
    response.setHeader("Cache-Control", "no-cache");
    _log.info(jsonCategories.toString());
    out.write(jsonCategories.toString());

} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
1
ответ дан 1 December 2019 в 08:53
поделиться
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();

map.put("abc", "123456");
map.put("def", "hmm");
list.add(map);
// it's wrong JSONObject json = new JSONObject(list);
// if u use list to add data u must be use JSONArray

JSONArray json = JSONArray.fromObject(list);
try {
    System.err.println(json.toString(2));
} catch (JSONException e) {
    e.printStackTrace();
}
4
ответ дан 1 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: