導航:首頁 > 編程語言 > javajson組裝

javajson組裝

發布時間:2023-01-17 05:46:19

1. java實現復雜的 xml 轉化為 JSON

提供一種方案:xml通過jaxb轉換成java對象,
然後java對象再轉換為json, 都有現成的框架。

2. 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值不需要加引號

3. java怎樣進行json字元串拼接

StringBuffer

利用StringBuffer來拼接和截取,如果是拼接字元串強烈建議使用StringBuffer。這樣可以防止內存泄露,否則大量用Str=str1+str2,會造成內存溢出用法如圖。

4. java如何創建Json文件

如果聊天數據的結構是固定的或變化不大的。
就直接「編排」json字元串。

為要輸出的對象增加一個String toJSON()方法
StringBuilder b=new StringBuilder();
b.append("{ name:\"");
b.append(username);
b.append("\"}");
依次類推
return b.toString();

適合絕大多數情況。

補充:json是做交換格式,查詢效率非常低,如果做存儲的檢索格式就誤用了。
就是說「聊天信息的保存用json應該可以吧」還不如你之前的mysql資料庫。

json用在客戶端往服務端發送的通訊交換數據的格式上。服務端收到後轉為資料庫中或內存中存放。

5. java包路徑解析成json

我跟你講一種方式,我剛剛想了一下,你最好是在得到你list數據的時候就開始組裝,這樣是最好的,得到list數據無非是文件遞歸嘛,當遞歸到出口的時候,你就放進去,如果是文件夾也往裡放。

代碼剛寫好了。

importcom.alibaba.fastjson.JSONObject;
importjava.io.File;
importjava.net.URL;
importjava.util.LinkedList;
importjava.util.List;


/**
*@Packagecom.xhxh.
*@Descriptionjsonconvert
*@Authorxiehua
*@Date2019-03-0816:28
*/
publicclassFileDomain{
privateStringname;
privateList<FileDomain>packages=newLinkedList<>();

publicFileDomain(){
}

publicFileDomain(Stringname){
this.name=name;
}

publicList<FileDomain>getPackages(){
returnpackages;
}

publicStringgetName(){
returnname;

}

publicvoidsetName(Stringname){
this.name=name;
}

@Override
publicStringtoString(){
return"FileDomain{"+
"name='"+name+'''+
",packages="+packages+
'}';
}

publicstaticvoidmain(String[]args){
FileDomainfileDomain=newFileDomain("com.xhxh");
fileDomain.readFiles("com.xhxh",fileDomain);
Strings=JSONObject.toJSONString(fileDomain);
System.out.println(s);
}

publicvoidreadFiles(StringscanPackage,FileDomainfileDomain){
URLurl=this.getClass().getClassLoader().getResource(scanPackage.replaceAll("\.","/"));
FileclassDir=newFile(url.getFile());
for(Filefile:
classDir.listFiles()){
if(file.isDirectory()){
FileDomaintemFileDomain=newFileDomain(scanPackage+"."+file.getName());
fileDomain.getPackages().add(temFileDomain);
readFiles(scanPackage+"."+file.getName(),temFileDomain);
}else{
FileDomaintemFileDomain=newFileDomain(scanPackage+"."+file.getName());
fileDomain.getPackages().add(temFileDomain);
}
}
}
}

6. 怎麼用java編寫json文件

先生成map 然後用alibaba的fastjson,附件中的這個包,里頭有你意想不到的API
例如:
Map map = ......;
map的結構和要生成的字元串結構一致就行,你的optionset在map里頭的結構就是一個list
list optionset= new ArrayList();
Map temp = new HashMap();temp.put('set',xxx);temp.put('value',xxx);
list.add(temp);
....有多少個就添加多少,
然後把list添加到最外層的Map對象中;
map.put('optionset',list); key就是json字元中對應的key
拼裝好了map然後就是下一句就搞定了
String josnStr = JSONObject.toJSONString(map);

7. java中怎麼把數據轉換成Json數據

搜json-lib.jar
這個包的例子:
JSONObject obj = new JSONObject();
obj.put("name", "kotomi");
obj.toString();
得到:{"name":"kotomi"}
也可以吧自己定義的實體轉,如
JSONObject.fromObject(xxx);
xxx是你自己定義的實體,他會吧xxx里提供了getter的都轉成json

8. 求java合並json數據的代碼

我想了一下,但是得有一個前提,就是第一個json數組的size必須和第二個json數組的size相同,並且一一對應,否則將造成數組溢出。

如果是基於上面這個前提,那麼實現的方法就簡單了。

操作json對象,其實標準的方法是將實體類轉換成json後再操作,我這里的話為了便捷直接使用谷歌的Gson來創建JsonObject了,其他的json依賴還有阿里巴巴的FastJson等等,看你平時用什麼習慣。

引入Gson依賴:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>

實現代碼:

public class Main {
public static void main(String[] args) {
JsonArray jsonArray1 = new JsonArray();
JsonObject json11 = new JsonObject();
json11.addProperty("數據1", "0000");
json11.addProperty("數據2", "1111");
JsonObject json12 = new JsonObject();
json12.addProperty("數據1", "0000");
json12.addProperty("數據2", "1111");
JsonObject json13 = new JsonObject();
json13.addProperty("數據1", "0000");
json13.addProperty("數據2", "1111");
jsonArray1.add(json11);
jsonArray1.add(json12);
jsonArray1.add(json13);
System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();
JsonObject json21 = new JsonObject();
json21.addProperty("數據3", "6666");
JsonObject json22 = new JsonObject();
json22.addProperty("數據3", "6666");
JsonObject json23 = new JsonObject();
json23.addProperty("數據3", "6666");
jsonArray2.add(json21);
jsonArray2.add(json22);
jsonArray2.add(json23);
System.out.println(jsonArray2);

//遍歷json數組,按位取出對象
for (int i = 0; i < jsonArray1.size(); i++) {
JsonObject json1 = jsonArray1.get(i).getAsJsonObject();
JsonObject json3 = jsonArray2.get(i).getAsJsonObject();
//遍歷數據3內容,通過Entry獲取數據3的key和value,並合並到數據1中
for (Map.Entry<String, JsonElement> item : json3.entrySet()) {
json1.addProperty(item.getKey(), item.getValue().getAsString());
}
}
System.out.println(jsonArray1);
}
}

整體思路為:遍歷兩個json數組,按位進行合並操作。合並時,遍歷數據3的jsonObject,獲取其key和value,並將其合並到數據1中即可。

運行結果:

9. java組裝復雜的json用什麼包怎麼用

XSTREAM 可以直接把對象轉成json字元串。

具體用法網路很多的。


當然也可以用json-lib 用法如下 user是一個對象

Useruser=newUser();
user.setId("123");
user.setName("JSONServlet");
user.setPassword("JSON");
user.setSay("Hello,iamaservlet!");
JSONObjectjson=newJSONObject();
json.accumulate("success",true);
json.accumulate("user",user);
閱讀全文

與javajson組裝相關的資料

熱點內容
租廣東聯通伺服器注意什麼雲空間 瀏覽:932
javascript高級程序設計pdf 瀏覽:289
pwm單片機原理 瀏覽:346
ai演算法在線修復圖片 瀏覽:979
scratch編程中如何做射擊游戲 瀏覽:476
at89c51編程器 瀏覽:341
項目經理叫醒程序員 瀏覽:342
autocad旋轉命令 瀏覽:660
手機版wpsoffice怎麼打包文件夾 瀏覽:579
在成都學車用什麼app 瀏覽:818
grep命令管道 瀏覽:426
java修改重啟 瀏覽:567
單片機供電方案 瀏覽:770
airpodspro一代怎麼連接安卓 瀏覽:218
豌豆莢app上有什麼游戲 瀏覽:283
公路商店app標簽選什麼 瀏覽:339
linuxoracle命令行登錄 瀏覽:227
android深度休眠 瀏覽:173
php微信開發例子 瀏覽:846
醫得app登錄密碼是什麼 瀏覽:143