本文目錄一覽:
- 1、java如何創建Json文件?
- 2、如何使用java創建json對象
- 3、java後台如何生成.json文件
- 4、Java如何快速構造JSON字符串
- 5、怎麼用java編寫json文件
- 6、如何構建json串,並將map轉為jsonObject對象的三種方式(scala)
java如何創建Json文件?
如果聊天數據的結構是固定的或變化不大的。
就直接「編排」json字符串。
為要輸出的對象增加一個String toJSON()方法
StringBuilder b=new StringBuilder();
b.append(“{ name:\””);
b.append(username);
b.append(“\”}”);
依次類推
return b.toString();
適合絕大多數情況。
補充:json是做交換格式,查詢效率非常低,如果做存儲的檢索格式就誤用了。
就是說「聊天信息的保存用json應該可以吧」還不如你之前的mysql數據庫。
json用在客戶端往服務端發送的通訊交換數據的格式上。服務端收到後轉為數據庫中或內存中存放。
如何使用java創建json對象
//將數據轉換為Json
public static String createJsonString(String key, Object value) {
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject.toString();
}
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);
Java如何快速構造JSON字符串
Google Gson來構造的JSON字符串裏面,保留了傳遞參數key/value的順序;
FastJson沒有保留順序(這個是符合JSON國際標準的,本身沒有錯誤。是SugarCRM REST API有bug,要求傳遞過來的參數是按照它的順序要求的)。
Google Gson代碼片段:
import com.google.gson.Gson;
…
LinkedHashMap map = new LinkedHashMap();
map.put(f1,xxx);
map.put(f2,xxxx);
map.put(f3,xxxxx);
Gson gson = new Gson();
String json = gson.toJson(map);,,
Alibaba FastJson代碼片段:
import com.alibaba.fastjson.JSONObject;
JSONObject jsonObject = new JSONObject();
jsonObject.put(f1, xxx);
jsonObject.put(f2, xxx);
String json = jsonObject.toJSONString();
怎麼用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);
如何構建json串,並將map轉為jsonObject對象的三種方式(scala)
眾所周知,kafka中存儲的數據是經過BASE64加密後的jsonObject,因此從kafka中讀取的數據經過base64解碼,得到的是json串,利用JSONObect的方法可以對json串進行解析,拿到對應的數據。那麼要如何將scala對象或者java對象轉換為JsonObject對象或JSONObject對象呢?(注意:JsonObject對象和JSONObject對象不同,調用的API也不一樣)
三種轉換方式依賴的包源碼都是用JAVA編寫,所以構建Map對象時完全使用java對象,不會發生錯誤。構建過程如下:
三種將java對象轉換為jsonObject對象的開源包有:
1、google提供的Genson是一個完全的Java和JSON轉換的類庫,提供了全面的數據綁定、流操作等。基於Apache 2.0協議發佈。轉換結果為
JsonObject對象。
使用需要先導入Jar包:import com.google.gson.{Gson, JsonParser}
引入依賴:這裡選用版本為:2.2.4,具體版本可以根據業務需求選擇。
dependency
groupIdcom.google.code.gson/groupId
artifactIdgson/artifactId
version2.2.4/version
/dependency
2、Fastjson 是一個 Java 庫,可以將 Java 對象轉換為 JSON 格式,當然它也可以將 JSON 字符串轉換為 Java 對象。
導入jar包:import com.alibaba.fastjson.JSON
引入依賴:
dependency
groupIdcom.alibaba/groupId
artifactIdfastjson/artifactId
version1.2.8/version
/dependency
3、net.sf.json-lib方式
導入jar包:import net.sf.json.JSONObject
引入依賴:
dependency
groupIdnet.sf.json-lib/groupId
artifactIdjson-lib-ext-spring/artifactId
version1.0.2/version
/dependency
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270616.html