javajsonobject更新_java-更新JSONObj中的元素
java-更新JSONObj中的元素
可以说我给了⼀个JSONObject
{
"person":{"name":"Sam", "surname":"ngonma"},
"car":{"make":"toyota", "model":"yaris"}
}
如何更新JSONObject中的某些值?
像下⾯这样:
String name = JSONObject(0).getJSONObject("person").getString("name");
name = "Sammie";
Harry asked 2020-02-10T13:55:32Z
4个解决⽅案
101 votes
JSONObject person = JSONObject(0).getJSONObject("person");
person.put("name", "Sammie");
cowls answered 2020-02-10T13:55:49Z
25 votes
删除键,然后再次添加修改后的键,值对,如下所⽰:
JSONObject js = new JSONObject();
js.put("name", "rai");
js.put("name", "abc");
我没有⽤你的榜样。 但在概念上是相同的
rai.skumar answered 2020-02-10T13:56:14Z
5 votes
您好,我可以建议您使⽤通⽤⽅法。 使⽤递归。
public static JSONObject function(JSONObject obj, String keyMain,String valueMain, String newValue) throws Exception { // We need to know keys of Jsonobject
JSONObject json = new JSONObject()
Iterator iterator = obj.keys();
String key = null;
while (iterator.hasNext()) {
key = (String) ();
// if object is just string we change value in key
if ((obj.optJSONArray(key)==null) && (obj.optJSONObject(key)==null)) {
if ((key.equals(keyMain)) && ((key).toString().equals(valueMain))) {
// put new value
obj.put(key, newValue);
return obj;
}
}
// if it's jsonobject
if (obj.optJSONObject(key) != null) {
JSONObject(key), keyMain, valueMain, newValue);
}
// if it's jsonarray
if (obj.optJSONArray(key) != null) {
JSONArray jArray = JSONArray(key);
for (int i=0;i
JSONObject(i), keyMain, valueMain, newValue);
}
}
}
js获取json的key和valuereturn obj;
}
它应该⼯作。 如果您有任何疑问,请继续..我准备好了。
eabyshev answered 2020-02-10T13:56:39Z
-1 votes
public static JSONObject updateJson(JSONObject obj, String keyString, String newValue) throws Exception { JSONObject json = new JSONObject();
// get the keys of json object
Iterator iterator = obj.keys();
String key = null;
while (iterator.hasNext()) {
key = (String) ();
// if the key is a string, then update the value
if ((obj.optJSONArray(key) == null) && (obj.optJSONObject(key) == null)) {
if ((key.equals(keyString))) {
// put new value
obj.put(key, newValue);
return obj;
}
}
// if it's jsonobject
if (obj.optJSONObject(key) != null) {
JSONObject(key), keyString, newValue); }
// if it's jsonarray
if (obj.optJSONArray(key) != null) {
JSONArray jArray = JSONArray(key);
for (int i = 0; i < jArray.length(); i++) {
JSONObject(i), keyString, newValue); }
}
}
return obj;
}
shafi kk answered 2020-02-10T13:56:54Z
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论