2016-10-07 5 views
-1

Может кто-нибудь пожалуйста, помогите мне, где я неправильно в моем коде:Получить JSON из списка <Map <String, String >>

public void request_Body_From_Data(String json, DataTable requestBody) throws Throwable { 
    List<Map<String, String>> body = requestBody.asMaps(String.class, String.class); 
    String converted_Json = convert_listmap_to_json_string(body); 
    printJson(converted_Json); 
} 

public String convert_listmap_to_json_string(List<Map<String, String>> map) { 
    JSONArray json_arr = new JSONArray(); 
    for (Map<String, String> list : map) { 
     JSONObject json_obj = new JSONObject(); 
     for (Map.Entry<String, String> entry : list.entrySet()) { 
      String key = entry.getKey(); 
      String value = entry.getValue(); 
      try { 
       if (key.equals("C")) { 
        break; 
       } else { 
        json_obj.put(key, value); 
       } 
      } catch (JSONException jsone) { 
       jsone.printStackTrace(); 
      } 
      json_arr.put(json_obj); 
     } 
    } 
    return json_arr.toString(); 
} 

Вопрос:

Я хотел бы преобразовать JSON , которые входят в список в Карты.

И я читаю Список из файла описания огурца. Feature файл выглядит следующим образом:

| A  | B | C | 
    | trade  | test | ID | 
    | Code  | 789 | ORDER| 

я ниже формате JSON: [{ "B": "Тест", "A": "торговля"}, { "B": "Тест",» А ":" торговля "}

Ожидаемый результат должен быть:

"A": { 
    "trade": "test", 
    "Code": "789", 
    } 
+0

Огромное спасибо @ Ark.I находится на этапе обучения. – Eric

ответ

0

Использование Джексон Library. Вы можете просто сделать это: -

ObjectMapper mapper = new ObjectMapper(); 
mapper.enable(SerializationFeature.INDENT_OUTPUT); // If pretty-print is required 
System.out.println(mapper.writeValueAsString(body)); 
+0

Большое спасибо Каушику. – Eric