fastjson字符串转json(fastjson字符串转map)

本篇文章给大家谈谈fastjson字符串转json,以及fastjson字符串转map对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

fastjson 怎样把字符串转换成json

// jackson

private static ObjectMapper om = new ObjectMapper ();

public static String objectToString (Object obj ) throws IOException{

return om.writeValueAsString (obj );

}

@Test

public void test1 () throws IOException {

MapString, Object map = new HashMapString, Object();

MapString, String map2 = new HashMapString, String此圆();

map2.put ("name", "1");

map2.put ("age"改键, "12");

map.put ("att", map2 );

ListString list = new ArrayListString();

list.add ("hi");list.add ("hello");

map.put ("list", list );

ListMapString, String confuselist = new ArrayListMapString, String();

MapString, String map3 = new HashMapString, String();

map3.put ("name", "1");

map3.put ("age", "12");

confuselist.add (map3 );

confuselist.add (map2 );

map.put ("confuselist", confuselist );

Object array = Array.newInstance (String.class, 10 );

Array.set (array, 0, "a");

Array.set (array, 1, "b");

Array.set (array, 2, "c");

map.put ("array", array );

// 使用 jackson

System.out.println (objectToString (map ));

// 使用核扒巧 fastJson

System.out.println (JSON.toJSONString (map ));

}

输出:

{"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"}, {"age":"12","name":"1"}],"array":["a","b","c",null,null,null,null,null,null,null]}

{"att":{"age":"12","name":"1"},"list":["hi","hello"],"confuselist":[{"age":"12","name":"1"},{"$ref":"$.att"}],"array":["a","b","c",null,null,null,null,null,null,null]}

java怎么把字符串转成json对象

下面以ali的fastjson为例,讲解json字桐斗符串转消尺json对象拿轮高:String jsonStr = "{\"message\" : \"success\"}";JSONObject jsonObject = JSON.parseObject(jsonStr);String message = jsonObject.getString("message");System.out.println(message);

FastJson和Json以及@ResponseBody

@Restcontroller是@Controller和@ResponseBody的结合体,将后台返回的Java对象转换为Json字符串传递给前台。它是springmvc通过配置MappingJackson2HttpMessageConverter实现的,spring默认带的转json包为jackson,因为fastJson比较快一般会引入fastjson来替换。

解决bean与json字段不一致问题,或者字段定义不符合前端所需岩租要的标准,需要使用@JsonProperty和@JSONField注解粗橡兆。

@jsonProperty是Jackson的包,@JSONproperty这个注解用于属性上面

而@jsonfield是如链fastjson的包,@JSONField这个注解可以用于get、set以及属性上面@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")是时间的格式化,可以用于get、set以及属性上面

FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。FastJson的API十分简洁,FastJson重要的类为JSONObject,经常调用的方法如下:

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray

public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject

public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray

public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本

public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

Jackson相对来说比较高效的Json类库,在项目中主要使用Jackson进行JSON和Java对象转换,Jackson ObjectMapper类是使用Jackson解析JSON最简单的方法。可以从字符串、流或文件解析JSON,并创建Java对象或对象图来表示已解析的JSON。将JSON解析为Java对象也称为从JSON反序列化Java对象

1.JAVA对象转JSON

ObjectMapper mapper = new ObjectMapper();

String bjectMapper = mapper.writeValueAsString(obj);

2.JSON转Java类[JSON反序列化]

ObjectMapper mapper = new ObjectMapper();

HashMapString, Object inMap = mapper.readValue(jsonStr, HashMap.class);

[img]

java中json字符串怎么转json对象

给你个思路:

1、将jsonstr转为json对象 (这个可以用net.sf.json.JSONObject第三方包来实现)

2、根据refObj 这个key获取{'existType':'exist','deptType':'emp','treeNodeType':'dept'},把获取清绝携清的这数据再转为json.

3、答隐姿将转后的json根据existType就能取得值了 。

复杂json怎么使用fastjson一次性提取出来

JSON数据之使用Fastjson进行解析(一)缺坦昌

据说FastJson是目前最快的解析Json数据的库,而且是国人开发出来的开源库。顶一下,付上官方网址:h/code.alibabatech.com/wiki/pages/viewpage.action?pageId=2424946

要使用Fastjson,首先需要下载相信亮对应的jar文伏扒件,在官网即可下载。

附上初学的第一个例子,多多指教:

复制代码

{

"statuses":[

{

"id": 912345678901,

"text": "How do I stream JSON in Java?",

"geo": null,

"user": {

"name": "json_newb",

"followers_count": 41

}

},

{

"id": 777777777888,

"text": "dfngsdnglnsldfnsl",

"geo": null,

"user": {

"name": "dsfgpd",

"followers_count": 24

}

}

]

}

复制代码

AllBean的Bean类:

复制代码

package com.lee.JsonToBean;

public class AllBean {

private long id;

private String text;

private String geo;

private UserBean userBean;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

public String getGeo() {

return geo;

}

public void setGeo(String geo) {

this.geo = geo;

}

public UserBean getUserBean() {

return userBean;

}

public void setUserBean(UserBean userBean) {

this.userBean = userBean;

}

}

复制代码

UserBean的Bean类:

复制代码

package com.lee.JsonToBean;

public class UserBean {

private String name;

private int followers_count;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getFollowers_count() {

return followers_count;

}

public void setFollowers_count(int followers_count) {

this.followers_count = followers_count;

}

}

复制代码

解析类JsonBean:

复制代码

package com.lee.JsonToBean;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.List;

import javax.swing.text.BadLocationException;

import javax.swing.text.DefaultStyledDocument;

import javax.swing.text.rtf.RTFEditorKit;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

/**

* {

"statuses":[

{

"id": 912345678901,

"text": "How do I stream JSON in Java?",

"geo": null,

"user": {

"name": "json_newb",

"followers_count": 41

}

},

{

"id": 777777777888,

"text": "dfngsdnglnsldfnsl",

"geo": null,

"user": {

"name": "dsfgpd",

"followers_count": 24

}

}

]

}

* */

public class JsonBean {

RTFEditorKit rtf;

DefaultStyledDocument dsd;

String text;

public static void main(String[] args) {

JsonBean bean = new JsonBean();

// 把字符串转为Json对象,这是因为我的json数据首先是json对象

JSONObject jobj = JSON.parseObject(bean.readRtf(new File("json.rtf")));

// 然后是jsonArray,可以根据我的json数据知道

JSONArray arr = jobj.getJSONArray("statuses");

// 根据Bean类的到每一个json数组的项

ListAllBean listBeans = JSON.parseArray(arr.toString(), AllBean.class);

// 遍历

for(AllBean bean_ : listBeans){

// 我这个demo的json数据获得第一层的数据

System.out.println(bean_.getText());

System.out.println(bean_.getId());

// 我这个demo的json数据获得第二层的数据

System.out.println(bean_.getUserBean().getFollowers_count());

}

}

// 因为我把json数据放进rtf文件,这是读取rtf文件的json数据,转化为字符串

public String readRtf(File in) {

rtf=new RTFEditorKit();

dsd=new DefaultStyledDocument();

try {

rtf.read(new FileInputStream(in), dsd, 0);

text = new String(dsd.getText(0, dsd.getLength()));

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (BadLocationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return text;

}

}

关于fastjson字符串转json和fastjson字符串转map的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表