一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java創(chuàng)建json數(shù)據(jù),構(gòu)建json數(shù)據(jù)

 hncdman 2023-04-04 發(fā)布于湖南
更新:2022-11-24 03:21

本文目錄一覽:

java怎么把數(shù)據(jù)轉(zhuǎn)成json 數(shù)組

有兩種方法實(shí)現(xiàn):

(1)直接轉(zhuǎn)換:

創(chuàng)建JSONArray對(duì)象、JSONObject對(duì)象,通過(guò)put方法將其數(shù)據(jù)以鍵值對(duì)的形式填充,如例:

//假如有一個(gè)Java實(shí)體類Person,包括以下屬性:phone、sex、married、address。

ArrayListPerson persons = new ArrayListPerson();

for (int i = 0; i 3; i++) {

persons.add(new Person("138******67", "女", true, "北京朝陽(yáng)區(qū)"));//填充Java實(shí)體類集合

}

JSONArray array = new JSONArray();// Json格式的數(shù)組形式

JSONObject obj;//json格式的單個(gè)對(duì)象形式

for (int i = 0; i persons.size(); i++) {

obj = new JSONObject();

//依次填充每一個(gè)Java實(shí)體對(duì)象

try {

obj.put("phone", persons.get(i).getPhone());//json通過(guò)put方式以key-value形式填充

obj.put("sex", persons.get(i).getSex());

obj.put("married", persons.get(i).getMarried());

obj.put("address", persons.get(i).getAddress());

array.put(obj);//將JSONObject添加入JSONArray

} catch (JSONException e) {

e.printStackTrace();

}

}

(2)通過(guò)GSON工具實(shí)現(xiàn):

只需要?jiǎng)?chuàng)建GSON對(duì)象,通過(guò)toJson方法轉(zhuǎn)換即可。如例:

//模擬Java數(shù)據(jù)

Person person = new Person("敏敏", 23, "女", "北京市海淀區(qū)");

//創(chuàng)建GSON對(duì)象

Gson gson = new Gson();

//調(diào)用toJson方法即可轉(zhuǎn)換為字符串的json格式

String json = gson.toJson(person);

java 中JSON數(shù)據(jù)如何寫(xiě)

沒(méi)懂你要問(wèn)什么,是問(wèn)JSON的格式么?

我就簡(jiǎn)單地介紹下json格式:

按照最簡(jiǎn)單的形式,可以用下面這樣的 JSON 表示"名稱 / 值對(duì)":

{ "firstName": "Tom" }

這個(gè)示例非?;?,而且實(shí)際上比等效的純文本"名稱 / 值對(duì)"占用更多的空間:

firstName=Tom

但是,當(dāng)將多個(gè)"名稱 / 值對(duì)"串在一起時(shí),JSON 就會(huì)體現(xiàn)出它的價(jià)值了。首先,可以創(chuàng)建包含多個(gè)"名稱 / 值對(duì)"的 記錄,比如:

{ "firstName": "Tom", "lastName":"Lin", "email": "aaa@aa.com" }

JSON 可以將 JavaScript 對(duì)象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序。

如何從JSON數(shù)據(jù)創(chuàng)建Java類

JSON (JavaScript Object Notation)一種簡(jiǎn)單的數(shù)據(jù)格式,比xml更輕巧。

Json建構(gòu)于兩種結(jié)構(gòu):

1、“名稱/值”對(duì)的集合(A collection of name/value pairs)。不同的語(yǔ)言中,它被理解為對(duì)象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。 如:

{

“name”:”jackson”,

“age”:100

}

2、值的有序列表(An ordered list of values)。在大部分語(yǔ)言中,它被理解為數(shù)組(array)如:

{

“students”:

[

{“name”:”jackson”,“age”:100},

{“name”:”michael”,”age”:51}

]

}

補(bǔ)充:json是做交換格式,查詢效率非常低,如果做存儲(chǔ)的檢索格式就誤用了。

就是說(shuō)“聊天信息的保存用json應(yīng)該可以吧”還不如你之前的mysql數(shù)據(jù)庫(kù)。

json用在客戶端往服務(wù)端發(fā)送的通訊交換數(shù)據(jù)的格式上。服務(wù)端收到后轉(zhuǎn)為數(shù)據(jù)庫(kù)中或內(nèi)存中存放。

java如何創(chuàng)建Json文件?

如果聊天數(shù)據(jù)的結(jié)構(gòu)是固定的或變化不大的。

就直接“編排”json字符串。

為要輸出的對(duì)象增加一個(gè)String toJSON()方法

StringBuilder b=new StringBuilder();

b.append("{ name:\"");

b.append(username);

b.append("\"}");

依次類推

return b.toString();

適合絕大多數(shù)情況。

補(bǔ)充:json是做交換格式,查詢效率非常低,如果做存儲(chǔ)的檢索格式就誤用了。

就是說(shuō)“聊天信息的保存用json應(yīng)該可以吧”還不如你之前的mysql數(shù)據(jù)庫(kù)。

json用在客戶端往服務(wù)端發(fā)送的通訊交換數(shù)據(jù)的格式上。服務(wù)端收到后轉(zhuǎn)為數(shù)據(jù)庫(kù)中或內(nèi)存中存放。

如何使用java創(chuàng)建json對(duì)象

//將數(shù)據(jù)轉(zhuǎn)換為Json 

public static String createJsonString(String key, Object value) {  

    JSONObject jsonObject = new JSONObject();  

    jsonObject.put(key, value); 

    return jsonObject.toString();

}

求java合并json數(shù)據(jù)的代碼

我想了一下,但是得有一個(gè)前提,就是第一個(gè)json數(shù)組的size必須和第二個(gè)json數(shù)組的size相同,并且一一對(duì)應(yīng),否則將造成數(shù)組溢出。

如果是基于上面這個(gè)前提,那么實(shí)現(xiàn)的方法就簡(jiǎn)單了。

操作json對(duì)象,其實(shí)標(biāo)準(zhǔn)的方法是將實(shí)體類轉(zhuǎn)換成json后再操作,我這里的話為了便捷直接使用谷歌的Gson來(lái)創(chuàng)建JsonObject了,其他的json依賴還有阿里巴巴的FastJson等等,看你平時(shí)用什么習(xí)慣。

引入Gson依賴:

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.8.0/version

/dependency

實(shí)現(xiàn)代碼:

public class Main {

public static void main(String[] args) {

JsonArray jsonArray1 = new JsonArray();

JsonObject json11 = new JsonObject();

json11.addProperty("數(shù)據(jù)1", "0000");

json11.addProperty("數(shù)據(jù)2", "1111");

JsonObject json12 = new JsonObject();

json12.addProperty("數(shù)據(jù)1", "0000");

json12.addProperty("數(shù)據(jù)2", "1111");

JsonObject json13 = new JsonObject();

json13.addProperty("數(shù)據(jù)1", "0000");

json13.addProperty("數(shù)據(jù)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("數(shù)據(jù)3", "6666");

JsonObject json22 = new JsonObject();

json22.addProperty("數(shù)據(jù)3", "6666");

JsonObject json23 = new JsonObject();

json23.addProperty("數(shù)據(jù)3", "6666");

jsonArray2.add(json21);

jsonArray2.add(json22);

jsonArray2.add(json23);

System.out.println(jsonArray2);

//遍歷json數(shù)組,按位取出對(duì)象

for (int i = 0; i jsonArray1.size(); i++) {

JsonObject json1 = jsonArray1.get(i).getAsJsonObject();

JsonObject json3 = jsonArray2.get(i).getAsJsonObject();

//遍歷數(shù)據(jù)3內(nèi)容,通過(guò)Entry獲取數(shù)據(jù)3的key和value,并合并到數(shù)據(jù)1中

for (Map.EntryString, JsonElement item : json3.entrySet()) {

json1.addProperty(item.getKey(), item.getValue().getAsString());

}

}

System.out.println(jsonArray1);

}

}

整體思路為:遍歷兩個(gè)json數(shù)組,按位進(jìn)行合并操作。合并時(shí),遍歷數(shù)據(jù)3的jsonObject,獲取其key和value,并將其合并到數(shù)據(jù)1中即可。

運(yùn)行結(jié)果:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲午夜福利不卡片在线| 天堂av一区一区一区| 国产精品激情对白一区二区| 人妻人妻人人妻人人澡| 久久经典一区二区三区| 国产伦精品一一区二区三区高清版| 国产一区二区三区成人精品| 国产在线一区中文字幕| 国产日韩欧美专区一区| 日韩欧美91在线视频| 色婷婷成人精品综合一区| 成人午夜激情在线免费观看| 麻豆一区二区三区精品视频| 中文久久乱码一区二区| 亚洲男人天堂网在线视频| 国产成人在线一区二区三区 | 国产精品不卡一区二区三区四区| 精品人妻少妇二区三区| 日本加勒比在线观看一区| 欧美精品二区中文乱码字幕高清| 日韩综合国产欧美一区| 亚洲精品高清国产一线久久| 亚洲国产精品肉丝袜久久| 中文字幕免费观看亚洲视频 | 亚洲免费观看一区二区三区| 日韩人妻有码一区二区| 精品高清美女精品国产区| 亚洲精品成人午夜久久| 欧美人妻少妇精品久久性色| 午夜亚洲少妇福利诱惑| 免费观看在线午夜视频| 欧美日韩高清不卡在线播放| 最新69国产精品视频| 国产老熟女乱子人伦视频| 久久99精品日韩人妻| 亚洲深夜精品福利一区| 中文字幕乱码免费人妻av| 色综合伊人天天综合网中文 | 中文字幕精品一区二区三| 欧美一区日韩一区日韩一区| 激情中文字幕在线观看|