Я пытаюсь создать строку JSON с использованием соответствующей пары ключ/значение. В приведенном ниже коде я пытаюсь перебрать список AttributeValue
, а затем я пытаюсь создать строку JSON с помощью al.getValue map
.Как создать строку JSON с использованием ключа/значения из карты
private <T> String createJsonWithEscCharacters(List<AttributeValue<T>> list) {
StringBuilder keyValue = new StringBuilder();
if (list != null) {
for (AttributeValue<?> al: list) {
keyValue.append("\"").append("v").append("\"").append(":").append(" {");
for (Map.Entry<String, String> entry : ((Map<String, String>) al.getValue()).entrySet()) {
keyValue.append("\"").append(entry.getKey()).append("\"");
keyValue.append(":").append(" \"").append(entry.getValue()).append("\"").append(",");
System.out.println(keyValue);
}
}
}
return null;
}
Когда я осмотреть на al
, я вижу, как value
LinkedHashMap<K,V>
и когда я печатаю al.getValue()
, это дает мне this-
{predictedCatRev=0;101;1,1;201;2, predictedOvrallRev=77;2,0;1,16;3, sitePrftblty=77;2,0;1671679, topByrGms=12345.67, usrCurncy=1, vbsTopByrGmb=167167.67}
Так что означает, что я могу итерирую al.getValue()
карты и использовать этот key/value pair
для создания строки JSON.
Теперь я пытаюсь сделать строку JSON, итерируя карту al.getValue()
. Таким образом, JSON строка должна выглядеть следующим образом после того, как итерация al.getValue()
Map-
{
"lv": [
{
"v": {
"predictedCatRev": "0;101;1,1;201;2",
"predictedOvrallRev": "77;2,0;1,16;3",
"sitePrftblty": "77;2,0;1671679",
"topByrGms": "12345.67",
"usrCurncy": "1",
"vbsTopByrGmb": "167167.67"
}
}
],
}
Мне интересно, что это самый чистый способ сделать это? В моем вышеприведенном коде я не могу полностью выполнить описанную выше JSON String, но независимо от того, какой код у меня выше, он может сделать небольшую часть JSON String так, как мне было нужно, но не полная JSON String на пути, я находясь в поиске. Может ли кто-нибудь помочь мне в этом, как то, что будет самым чистым способом сделать это?
Благодаря
Почему бы не использовать сериализации библиотек, как GSON который делает все это для вас? –
Вы знаете, что вы можете создать JSONObject с карты, не так ли? См. [This] (http://www.json.org/javadoc/org/json/JSONObject.html#JSONObject (java.util.Map)) – jahroy
Я могу использовать различные библиотеки JSON, но это не даст мне lv 'и' v' в том, как я смотрю в своем фактическом 'JSONString'. Смысл, мне нужно добавить те, 'lv и v' в моем фактическом' JSONString' –