如何删除 JsonObject 中的键名?
How to remove the key name in JsonObject?
我在下面有这个 JsonObject :
[
{"ContactNumber":"+91 98765 12345"},
{"ContactNumber":"+91 123 456 7890"}
]
因为 "ContactNumber" 重复..如果我有 5000 个联系人,它会重复..所以我需要删除 jsonObject 中的键名 "ContactNumber" 这样新的 JsonObject 看起来像这样:
"contacts" : [
"+911234567890",
"+911234567890",
"+911234567890",
"+911234567890",
"+911234567890"
]
实际上我正在尝试将自定义列表转换为 JsonObject ..这是我的代码片段
Gson gson = new Gson();
String data = gson.toJson(reqContacts); // reqContacts is Custom list
JsonArray jsonArray = new JsonParser().parse(data).getAsJsonArray();
试试这个
try {
// jsonString is a string variable that holds the JSON
JSONArray itemArray=new JSONArray(jsonString);
for (int i = 0; i < itemArray.length(); i++) {
int value=itemArray.getInt(i);
Log.e("json", i+"="+value);
}
} catch (JSONException e) {
e.printStackTrace();
}
试试这个。
try {
String data = "[{\"ContactNumber\":\"+91 98765 12345\"}, " +
"{\"ContactNumber\":\"+91 123 456 7890\"}]";
JSONArray arr1 = new JSONArray();
JSONArray arr = new JSONArray(data);
for (int i = 0; i < arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
arr1.put(obj.getString("ContactNumber"));
}
JSONObject result = new JSONObject();
result.put("contacts", arr1);
System.out.println(""+result);
} catch (Exception e) {
e.printStackTrace();
}
只需写 Object.values(myJsonObject)
,其中 myJsonObject
是您要提取其值的 Json。这将 return 一个没有键的值数组。
要将这些存储为 Json 数组,您可以构造新数组即
{'contacts': Object.values(myJsonObject)}
我在下面有这个 JsonObject :
[
{"ContactNumber":"+91 98765 12345"},
{"ContactNumber":"+91 123 456 7890"}
]
因为 "ContactNumber" 重复..如果我有 5000 个联系人,它会重复..所以我需要删除 jsonObject 中的键名 "ContactNumber" 这样新的 JsonObject 看起来像这样:
"contacts" : [
"+911234567890",
"+911234567890",
"+911234567890",
"+911234567890",
"+911234567890"
]
实际上我正在尝试将自定义列表转换为 JsonObject ..这是我的代码片段
Gson gson = new Gson();
String data = gson.toJson(reqContacts); // reqContacts is Custom list
JsonArray jsonArray = new JsonParser().parse(data).getAsJsonArray();
试试这个
try {
// jsonString is a string variable that holds the JSON
JSONArray itemArray=new JSONArray(jsonString);
for (int i = 0; i < itemArray.length(); i++) {
int value=itemArray.getInt(i);
Log.e("json", i+"="+value);
}
} catch (JSONException e) {
e.printStackTrace();
}
试试这个。
try {
String data = "[{\"ContactNumber\":\"+91 98765 12345\"}, " +
"{\"ContactNumber\":\"+91 123 456 7890\"}]";
JSONArray arr1 = new JSONArray();
JSONArray arr = new JSONArray(data);
for (int i = 0; i < arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
arr1.put(obj.getString("ContactNumber"));
}
JSONObject result = new JSONObject();
result.put("contacts", arr1);
System.out.println(""+result);
} catch (Exception e) {
e.printStackTrace();
}
只需写 Object.values(myJsonObject)
,其中 myJsonObject
是您要提取其值的 Json。这将 return 一个没有键的值数组。
要将这些存储为 Json 数组,您可以构造新数组即
{'contacts': Object.values(myJsonObject)}