解决跨域问题可以使用jsonp:
$.ajax({
url:"",
type:"GET",这里和普通的json不同,要使用GET格式
dataType:"jsonp",数据格式类型jsonp
data:{},json数据
jsonp:"jsonpcallback",后台要接受的js参数名
success:function(data){},
error:function(){}
});
java后台(GET请求):
String jsonp = request.getParameter("jsonpcallback");
return jsonp+"("+json数据格式+")"
---------------------------------------------------------
alibaba fastJson使用
一半对象转Json,JSON.toJSONString(Object object);
将JSON数据转化为指定数据格式:
JSON.parseObject(jsonString,指定类型的.class文件)
------------------------------------------
jsonObject = JSONObject.parseObject(json)//将json字符串转化为json对象(JSONObject)
jsonArray = jsonObject.getJSONArray("");//根据key值来获取jsonobject对象里的jsonarray
jso = jsonArray.getJSONObject(0),根据下标来获取jsonArray里的jsonObject对象
jso.getString("key")//根据key值取jsonObject里的value,返回一个string对象
以上四行说明在解析json字符串时,可以转为jsonObject进行解析
例如:
String json="{\"name\":\"刘德华\",\"age\":35,\"some\":[{\"k1\":\"v1\",\"k2\":\"v2\"},{\"k3\":\"v3\",\"k4\":\"v4\"}]}";
JSONObject jso = JSONObject.parseObject(json);//将字符串转换为json对象
System.out.println(jso.getString("name"));
System.out.println("初始jsonObject:\n"+jso+"\n");
JSONArray jArray = jso.getJSONArray("some");
System.out.println("jsonObject里面的jsonarray:\n"+jArray+"\n");
JSONObject job = jArray.getJSONObject(0);
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject:\n"+job+"\n");
String vString=job.getString("k1");//jsonobject对象通过key直接取得String的值
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:\n"+vString+"\n");
$.ajax({
url:"",
type:"GET",这里和普通的json不同,要使用GET格式
dataType:"jsonp",数据格式类型jsonp
data:{},json数据
jsonp:"jsonpcallback",后台要接受的js参数名
success:function(data){},
error:function(){}
});
java后台(GET请求):
String jsonp = request.getParameter("jsonpcallback");
return jsonp+"("+json数据格式+")"
---------------------------------------------------------
alibaba fastJson使用
一半对象转Json,JSON.toJSONString(Object object);
将JSON数据转化为指定数据格式:
JSON.parseObject(jsonString,指定类型的.class文件)
------------------------------------------
jsonObject = JSONObject.parseObject(json)//将json字符串转化为json对象(JSONObject)
jsonArray = jsonObject.getJSONArray("");//根据key值来获取jsonobject对象里的jsonarray
jso = jsonArray.getJSONObject(0),根据下标来获取jsonArray里的jsonObject对象
jso.getString("key")//根据key值取jsonObject里的value,返回一个string对象
以上四行说明在解析json字符串时,可以转为jsonObject进行解析
例如:
String json="{\"name\":\"刘德华\",\"age\":35,\"some\":[{\"k1\":\"v1\",\"k2\":\"v2\"},{\"k3\":\"v3\",\"k4\":\"v4\"}]}";
JSONObject jso = JSONObject.parseObject(json);//将字符串转换为json对象
System.out.println(jso.getString("name"));
System.out.println("初始jsonObject:\n"+jso+"\n");
JSONArray jArray = jso.getJSONArray("some");
System.out.println("jsonObject里面的jsonarray:\n"+jArray+"\n");
JSONObject job = jArray.getJSONObject(0);
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject:\n"+job+"\n");
String vString=job.getString("k1");//jsonobject对象通过key直接取得String的值
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:\n"+vString+"\n");