json 三转 , 前端ajax的datatype为json后端传来jsonString 即可

时间:2022-10-17 21:07:47
1.后台json三转代码:
/**
* 参考另一篇博客,http://blog.csdn.net/nx188/article/details/50386211?locationNum=5
* Created by jaloli on 2017/6/15.
*/
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.junit.Test;

/**
* 第一个函数和第二个函数是
* Created by jaloli on 2017/6/15.
*/
public class Json {

//first
@Test
public void jsonStringWithJsonObject() {
//1.jsonString to jsonObject
String str = "{\"name\":\"ljl\",\"com\":\"nx18\"}";//正确
// String str = "111";//出错
JSONObject jsonObject = JSONObject.parseObject(str);
// JSONObject result = JSON.parseObject(str);//和上句作用一样
System.out.println(111);
//2.jsonObject to jsonString
String jsonString = JSON.toJSONString(jsonObject);//这个是object类型
System.out.println(jsonString);//{"com":"nx18","name":"ljl"}
}

//second
@Test
public void jsonStringWithJavaBean() {
//1.javabean to string
JavaBean bean = new JavaBean("1212","fangtong");
String jsonString = JSON.toJSONString(bean);
System.out.println(jsonString);//{"name":"fangtong","num":"1212"}
//2.string to javabean
JSONObject jsonObject = JSONObject.parseObject(jsonString);//jsonString先转成jsonObject
JavaBean secondBean = JSON.toJavaObject(jsonObject,JavaBean.class);//再转成javaBean(JavaBean这个类必须有默认无参构造函数)
System.out.println(111);
}

//third
@Test
public void jsonObjectWithJavaBean() {
//1.bean to jsonObject
JavaBean bean = new JavaBean("1212","fangtong");
String jsonString = JSON.toJSONString(bean);//先转成jsonString
JSONObject jsonObject = JSONObject.parseObject(jsonString);
//2.jsonObject to bean
String secondJsonString = JSON.toJSONString(jsonObject);
JavaBean secondBean = JSON.toJavaObject(jsonObject,JavaBean.class);
System.out.println(111);
}
}
2.给前端返回json,后端的处理
ajax 的datatype:json,则需要后端传过来什么类型? 后端传来jsonString即可,前端的js 引擎会按照datatype 来把这个值解析成json类型,而后回调success 函数 
ajax 代码如下:
json 三转  , 前端ajax的datatype为json后端传来jsonString 即可