【发布时间】:2015-03-03 11:09:16
【问题描述】:
我有一个 JSON 对象,其键值对为 {"Name":"KEY1"}
我有另一个 JSON
{
"ServiceTax": 133.24263,
"VAT": 23
}
如何使用 {"Name":"KEY1"} 添加早期 JSON 以及 ServiceTax 和 VAT 的这两个值
这样 JSON 看起来像
{
"NAME" : "KEY1"
"ServiceTax": 133.24263,
"VAT": 23
}
这里的问题是 ServiceTax 和 VAT 的名称不是固定的,可以是任何名称
这是我的程序
import java.text.DecimalFormat;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class Test {
public static void main(String args[]) throws JSONException {
String json = "{\r\n" +
" \"ServiceTax\": 133.24263,\r\n" +
" \"VAT\": 23\r\n" +
"}";
Map < String, LinkedList < JSONObject >> vendorOrdersMap = new LinkedHashMap < String, LinkedList < JSONObject >> ();
JSONObject json_obj_for_key1 = new JSONObject(); json_obj_for_key1.put("Name", "KEY1");
JSONObject json_obj_for_key2 = new JSONObject(); json_obj_for_key2.put("Name", "KEY2");
LinkedList list1 = new LinkedList(); list1.add(json_obj_for_key1);
LinkedList list2 = new LinkedList(); list2.add(json_obj_for_key2);
vendorOrdersMap.put("ONE", list1);
vendorOrdersMap.put("TWO", list2);
for (Map.Entry < String, LinkedList < JSONObject >> entry: vendorOrdersMap.entrySet())
{
String key = entry.getKey();
LinkedList < JSONObject > json_list = entry.getValue();
for (JSONObject json_data: json_list)
{
//
}
}
}
}
【问题讨论】:
-
带有变量键的 JSON 真的是 String 还是 JSONObject?
-
你结婚了吗?使用
org.json.*类?如果没有,您可能会发现simple-json 或gson 更易于使用。