‘壹’ java需求:合并两个JSON字符串
如果只是你说的这种情况,可以先将json 字符串,转换成结构体。赋值进去就行了吧,还是得看你具体需求。
‘贰’ java中,怎么把两个jsonObject合并成一个
方法为,把两个拼装好的JSON串合并成一个新的JSON,两个JSON相同的key值情况下只保存一个,后放入的JSON串对应key的Value值会覆盖先放入的。
具体操作设置方法为
import net.sf.json.JSONObject;
public class JSONCombine
{
public static void main(String[] args)
{
JSONObject jsonOne = new JSONObject();
JSONObject jsonTwo = new JSONObject();
jsonOne.put("name", "kewen");
jsonOne.put("age", "24");
jsonTwo.put("hobbit", "Dota");
jsonTwo.put("hobbit2", "wow");
JSONObject jsonThree = new JSONObject();
jsonThree.putAll(jsonOne);
jsonThree.putAll(jsonTwo);
System.out.println(jsonThree.toString());
}
}
运行结果:
{"name":"12345","age":"24","hobbit":"Dota","hobbit2":"wow"}
‘叁’ 如何用Java拼接JSON方式遍历整个树形节点
//是类似这种吗
//控制层使用JSONArrayjsonObject=JSONArray.fromObject();转换
Map<String,Object>map=newHashMap<String,Object>();
map.put("id","1");
map.put("text","实验外国语学校");
List<Map<String,Object>>fatherList=newArrayList<Map<String,Object>>();
List<Map<String,Object>>list=newArrayList<Map<String,Object>>();
for(Beanbean:list){
if("1".equals(list.getParent_level())){
Map<String,Object>map2=newHashMap<String,Object>();
map2.put("id",list.getId());
map2.put("text",list.getName());
list.add(map2);
}
}
map.put("children",list);
‘肆’ 如何用java递归生成带children的json串
先递归出一个
node对象,再将node对象转换成json串。直接进行字符串的json操作不建议。
class
Node{
private
String
id;
private
String
parentId;
private
List<Node>
children;
public
void
addChildren(Node
child){
getChildren().add(child);
}
public
List<Node>
getChildren();
public
String
transformTojson(Node
node
,StringBuffer
jsonStr){
//递归
if(jsonStr
==null){
StringBuffer
jsonStr=new
();
}
if(node.id!=null){
//拼接父节点json串
jsonStr.append(id:node.id,children:#&children);
}
List
childNodeList
=
node.getChildren();
StringBuffer
childrenSB
=
new();
for(
Node
node
:childNodeList){
childrenSB=transformTojson(node);
}
sonStr.replaceFirst("#&children",childrenSB);
return
jsonStr;
}
}
伪代码大概这样。
transformTojson方法可以不自己写,直接使用第三方工具jar包的json转化方法,比如gjson。
‘伍’ java 怎样进行json字符串拼接
一般都是用json解析包去做json的转换的,例如用Gson,可以把一个对象转为json字符串,也可以逆向把json字符串转为对象。
例如:
Map<String,Object>map=newHashMap<String,Object>();
map.put("key01","value01");
map.put("key02","value02");
Stringjson=newGson().toJson(map);
//则json为{"key01":"value01","key02":"value02"}
如果要用手动拼接的话,就拼接成json格式的字符串就可以了,注意"要做转义
例如:
Stringvalue01="value01";
intvalue02=123;
Stringjson="{"key01":""+value01+"","key02":"+value02+"}";
//打印结果为{"key01":"value01","key02":123}
//注意int值不需要加引号
‘陆’ 如何用java递归生成带children的json串
这个问题有点没意义,因为java已经有相应的jar了,不论是阿里的fastjson,还是gson,又或者是jackson,都是已经很成熟的jar了。如果非要自己去写的话,就需要用到反射了。简单来说,就是获取对象的所有属性。复杂说的话,要判断对象的属性,判断属性类型,判断属性值是否为null,判断对象是否是有transient修饰,判断字符串里面是否有双引号等等。然后通过StringBuffer或是StringBuilder去拼接字符串,来生成json串,至于是StringBuffer还是StringBuilder就看你的需要再决定了
‘柒’ java如何返回json格式
在后台拼接好JSON字符串后,直接用out输出到界面,x0dx0aWriter out = = response.getWriter();x0dx0a if(str!=null){x0dx0a out.write(jsonstr);x0dx0a out.flush(); x0dx0a }
‘捌’ java怎么把字符串转成json字符串
@RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST)
@ResponseBody
public void updateInvestorApplyAccountNo(HttpServletRequest request,
HttpServletResponse response,
@RequestBody String requestBody) {
int num = 0;
String result = "";
//下面是把拿到的json字符串转成 json对象
JSONObject jsStr = JSONObject.parseObject(requestBody); //将字符串{“id”:1}
//int jsID = Integer.parseInt(jsStr.getString("id"));//获取id的值
/**
* json对象转换成java对象
*/
InvestorApplyModel stud = (InvestorApplyModel) JSONObject.toJavaObject(jsStr,InvestorApplyModel.class);
}
‘玖’ java怎样进行json字符串拼接
StringBuffer
利用StringBuffer来拼接和截取,如果是拼接字符串强烈建议使用StringBuffer。这样可以防止内存泄露,否则大量用Str=str1+str2,会造成内存溢出用法如图。
‘拾’ 如何将两个java数组拼接成json字符串 如下
...随便找个 JSON转换的插件吧,你先
把数组合并,然后 使用JSON 转换工具类 很easy ,常用的插件 gson,fastjson等等 网络一下很多