『壹』 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等等 網路一下很多