json字符串中主要对应的价值值如何进行修改

  

json字符串中主要对应的价值值如何进行修改?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

字符串转json、下面这种方式会把原有的字符串顺序打乱,所以不采用

JSONObject JSONObject=JSON.parseObject(你的json);

要先转为LinkedHashMap,再转json

LinkedHashMap<字符串,Object>json=JSON.parseObject(你的json、LinkedHashMap.class Feature.OrderedField);   JSONObject JSONObject=new JSONObject(真正的);   jsonObject.putAll (json);//更新频度   jsonObject.put (“key",“P");//替换钥匙对应的值   字符串new_text=jsonObject.toJSONString ();

此时new_text就是已经更新过后的新json字符串

<强> java中修改嵌套json字符串中的价值,比较精准的方法

我就废话不多说了,大家还是直接看代码吧~

{公共类测试/* *
  * @param args命令行参数
  */公共静态void main (String [] args)抛出JSONException {//TODO代码的应用程序逻辑。//已有Json格式字符串{“id":“10001”,“name":“肉类“,“menus": [{“name":“牛肉“,“price":“30.00”;}, {“name":“羊肉“,“price":“20.00“}]}//需求是将牛肉的价格改为50.00
  json字符串=皗\“\“id: \“10001 \“, \“\”名称;:\“肉类\”,\“菜单\“:[{\“\“名称:\“牛肉\”,\“\“价格:\“30.00 \“;},{\“\“名称:\“羊肉\”,\“\“价格:\“20.00 \“}]}“;
  System.out.println (“1。“+ json);
  JSONObject kindJson=new JSONObject (json);//将字符串转为JSONObject
  字符串menuJson=kindJson.getString (“menus");//获取到菜单
  JSONArray菜单JSONArray=new (menuJson);//再将menuJson转JSONArray为
  System.out.println (“2。“+”菜单);
  JSONObject beefJson=menus.getJSONObject(0);//根据下标0(类似数组)获取牛肉的json对象
  beefJson.put (“price",“50.00“);//直接提交价格的关键,如果该键存在则替换值
  菜单。把(0,beefJson);//覆盖掉原来的值
  
  System.out.println (“3。“+ beefJson);
  System.out.println (“; 4。“+”菜单);//替换完后打印查看
  kindJson.put (“menus"、菜单);//再将菜单覆盖
  
  json=kindJson.toString();//赋值
  System.out.println (“5。“+ json);//替换完成
  }
  }

执行结果:

 json字符串中主要对应的价值值如何进行修改

可见最后json字符串中的值被修改了,但是字段的顺序却发生了变化,因为JsonObject是用HashMap来存储的,

并不是按顺序进行存储,如果有这个需求的话可以自定义JsonObject,用有序的LinkedHashMap代替HashMap。

这里用的是将json字符串转换为json的对象,

然后逐步将需要修改的对象取出来,利用把将原来的值覆盖完后再逐步提交回去。

看完上述内容,你们掌握json字符串中主要对应的价值值如何进行修改的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

json字符串中主要对应的价值值如何进行修改