Ⅰ 安卓Json --JSONArray --Map 類型轉換
1.JSONArray 轉 Map。先將JSAONArray 轉為 string類型的Json字元串,然後利用Gson將String類型的JSON字元串轉為對應的輸出類型。
2.java中json轉Map,jsonArray轉List集合,List集合轉json
Ⅱ map與json的轉換
使用fastjson實現map與json的互相轉換
new Date()是java.util.Date
這個裡面是時間處理的參數
JSON.toJSONString(map,
SerializerFeature.,
SerializerFeature.WriteDateUseDateFormat)
結果
設置JsonObject的默認時間格式
JSONObject.DEFFAULT_DATE_FORMAT="yyyy-MM-dd";
結果
Ⅲ java將 json數組轉map,例[{"key":"1"},{"key1":"2"}]轉換成一個map
HashMap<String, String> map = new HashMap<String, String>();
String jsonStr="[{\"key\":\"1\"},{\"key1\":\"2\"}]";
JSONArray jsonArr=JSONArray.fromObject(jsonStr);
for(int i=0;i<jsonArr.size();i++){
JSONObject obj = JSONObject.fromObject(jsonArr.get(i));
Iterator it = obj.keys();
while (it.hasNext()){
String key = String.valueOf(it.next());
String value = (String) obj.get(key);
map.put(key, value);
}
}
System.out.println(map);
Ⅳ java中將map轉成json時,如何將map中的整型數字在轉成json後,變成字元串,而不是整型。
好像沒有什麼特別的辦法,可能是我才疏學淺,
我知道的兩種方式:
map是鍵值對存在,那麼類型都是固定的,我們可以再申請個map<String ,String>遍歷替換原來的map再轉換成json字元串
字元串替換,用正則添加雙引號:
publicvoidtestJson(){
Map<String,Integer>map=newHashMap<String,Integer>();
map.put("aaa",111);
Stringjson=JSON.toJSONString(map);
Stringjson1=json.replaceAll(":",":"");
json1=json1.replaceAll("}",""}");
System.out.println(json);
System.out.println(json1);
}
Ⅳ java將 json數組轉map
首先你的[{"key":"1"},{"key":"2"}] 是個 json 數組格式
如果是簡單的json 格式, 比如"{"key1":"1","key2":"2"}"
那麼你可以使用 下面的示例:
publicstaticvoidmain(String[]args){
StringjsonString="{"key1":"1","key2":"2"}";
//Stringstr="[{"key1":"1"},{"key2":"2"}]";
Map<String,Object>map=toMap(jsonString);
for(Map.Entry<String,Object>entry:map.entrySet()){
Stringkey=entry.getKey();
Objectvalue=entry.getValue();
System.out.println(key+":"+value);
}
}
@SuppressWarnings("unchecked")
publicstatic<T>Map<String,T>toMap(Stringjson){
Map<String,T>map=newHashMap<String,T>();
JSONObjectjsonObject=JSONObject.fromObject(json,newJsonConfig());
Iterator<String>keys=jsonObject.keys();
while(keys.hasNext()){
Stringkey=keys.next();
Objectvalue=jsonObject.get(key);
map.put(key,(T)value);
}
returnmap;
}
執行結果:
你這種數組格式, 轉成 map 那麼 同名的key 會覆蓋的....
Ⅵ java在後台如何將前台傳過來的json格式數據轉換為map
importcom.alibaba.fastjson.JSON;
importcom.alibaba.fastjson.JSONObject;
importjava.util.Map;
/**
*JSON字元串自動轉換
*Createdbyzknon2016/8/22.
*/
publicclassJsonToMapTest01{
publicstaticvoidmain(String[]args){
Stringstr="{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"}";
//第一種方式
Mapmaps=(Map)JSON.parse(str);
System.out.println("這個是用JSON類來解析JSON字元串!!!");
for(Objectmap:maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第二種方式
MapmapTypes=JSON.parseObject(str);
System.out.println("這個是用JSON類的parseObject來解析JSON字元串!!!");
for(Objectobj:mapTypes.keySet()){
System.out.println("key為:"+obj+"值為:"+mapTypes.get(obj));
}
//第三種方式
MapmapType=JSON.parseObject(str,Map.class);
System.out.println("這個是用JSON類,指定解析類型,來解析JSON字元串!!!");
for(Objectobj:mapType.keySet()){
System.out.println("key為:"+obj+"值為:"+mapType.get(obj));
}
//第四種方式
/**
*JSONObject是Map介面的一個實現類
*/
Mapjson=(Map)JSONObject.parse(str);
System.out.println("這個是用JSONObject類的parse方法來解析JSON字元串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第五種方式
/**
*JSONObject是Map介面的一個實現類
*/
JSONObjectjsonObject=JSONObject.parseObject(str);
System.out.println("這個是用JSONObject的parseObject方法來解析JSON字元串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第六種方式
/**
*JSONObject是Map介面的一個實現類
*/
MapmapObj=JSONObject.parseObject(str,Map.class);
System.out.println("這個是用JSONObject的parseObject方法並執行返回類型來解析JSON字元串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
StringstrArr="{{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"},"+
"{"00":"zhangsan","11":"lisi","22":"wangwu","33":"maliu"}}";
//JSONArray.parse()
System.out.println(json);
}
}
Ⅶ 如何把map轉成json字元串
1、如圖所示新建一個demo作為測試。
Ⅷ 如何構建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>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
2、Fastjson 是一個 Java 庫,可以將 Java 對象轉換為 JSON 格式,當然它也可以將 JSON 字元串轉換為 Java 對象。
導入jar包:import com.alibaba.fastjson.JSON
引入依賴:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.8</version>
</dependency>
3、net.sf.json-lib方式
導入jar包:import net.sf.json.JSONObject
引入依賴:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib-ext-spring</artifactId>
<version>1.0.2</version>
</dependency>
Ⅸ java怎麼將json文件讀取進來並轉成map
java中解析json文件,需要下載json解析包,用JSONUtil.deserialize()就可以了,範例:
importorg.apache.struts2.json.JSONUtil;
publicclassJsonToJava{
publicstaticvoidmain(String[]args){
try{
Strings=JSONObject.toString();
Objecto=JSONUtil.deserialize(s);
Objecto1=((HashMap)o).get("DATA");//此舉將DATA作為對象,得到。
Mapmap=(Map)o1;//然後強轉o1
}catch(Exceptione){
e.printStackTrace(System.out);
}
}
}
Ⅹ java json字元串轉換Map
用JSONUtil.deserialize()就可以了,範例:
import org.apache.struts2.json.JSONUtil;
public class JsonToJava {
public static void main(String[] args) {
try {
String s = "{\"D\":[\"a\",\"b\"],\"A\":[\"a\",\"b\"],\"B\":[\"a\",\"b\"],\"C\":[\"a\",\"b\"]}";
Object o = JSONUtil.deserialize(s);
System.out.println(o.getClass() + ": " + o);
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}