対応するキーと値のペアを使用して JSON 文字列を作成しようとしています。以下のコードでは、 のリストを反復処理してから、AttributeValue
を使用して JSON 文字列を書き込もうとしていal.getValue map
ます。
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;
}
を調べると、 as が表示されal
、print すると、これが表示されます-value
LinkedHashMap<K,V>
al.getValue()
{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 文字列を作成できます。
al.getValue()
今、マップを繰り返して JSON 文字列を作成しようとしています。al.getValue()
したがって、マップを反復した後、 JSON文字列は次のようになります。
{
"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 文字列を完全に作成することはできませんが、上記のコードが何であれ、必要な方法で JSON 文字列のわずかな部分を作成できますが、途中で完全な JSON 文字列を作成することはできません。探している。これを行うための最もクリーンな方法は何ですか?
ありがとう