一:ajax请求
$.post( //或get
'url',//请求地址
{ "id":id, "name":name, },//传输的参数
function(data) {//服务器返回的数据
},"json");
$.ajax({
type:"post",//请求方式 或 “get”
url:"index.jsp",//请求地址
data: { "id":id, "name":name, },//传输的参数,json格式的数据
success:function(data){//服务器返回的数据
},
error:function(error){
},
})
二:json
1、 json串转对象
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
注:eaval()是js自带,可直接使用,其他两种需要json.js包
2、json对象转串
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
注: 提示找不到toJSONString()和parseJSON()要领,则说明json包版本太低。
3、java中创建json对象
如下简单的例子,创建一个JSONObject
,可能会抛出异常JSONException
private static void JSONObject() {
JSONObject object = new JSONObject();
Object nullObj = null;
try {
object.put("name", "王小二");
object.put("age", 25.2);
object.put("birthday", "1990-01-01");
object.put("school", "蓝翔");
object.put("major", new String[] {"理发", "挖掘机"});
object.put("has_girlfriend", false);
object.put("car", nullObj);
object.put("house", nullObj);
object.put("comment", "这是一个注释");
System.out.println(object.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
使用Map构架JSON
使用HashMap
构建JSON
private static void createJsonByMap(){
Object nullObj = null;
Map<String, Object> object = new HashMap<String, Object>();
object.put("name", "王小二");
object.put("age", 25.2);
object.put("birthday", "1990-01-01");
object.put("school", "蓝翔");
object.put("major", new String[] {"理发", "挖掘机"});
object.put("has_girlfriend", false);
object.put("car", nullObj);
object.put("house", nullObj);
object.put("comment", "这是一个注释");
System.out.println(new JSONObject(object));
}
通过bean创建JSON对象:
public static void createJsonByBean() {
DiaoSi bean = new DiaoSi();
bean.setName("王小二");
bean.setAge(25.2);
bean.setBirthday("1990-01-01");
bean.setSchool("蓝翔");
bean.setMajor(new String[] {"理发", "挖掘机"});
bean.setHas_girlfriend(false);
bean.setHouse(null);
bean.setCar(null);
bean.setComment("这是一个注释");
System.out.println(new JSONObject(bean));
}
4、 json数据解析(java)
- 1.如果看到是{ }–>使用JSONObject
- 2.如果看到的[ ]–>使用JSONArray解析
(1)// JSON-->纯对象(Object)的解析
String json="{'name':'佩奇','age':12}";
try {
JSONObject obj = new JSONObject(json);
String name = obj.getString("name");
int age = obj.getInt("age");
System.out.println(name+"今年"+age+"岁");
} catch (JSONException e) {
e.printStackTrace();
}
(2)//解析数组
String json="['北京','南京','上海','东京有点热']";
try {
JSONArray jArray = new JSONArray(json);
for (int i = 0; i < length; i++) {
String string = jArray.getString(i);
System.out.println(string+",");
}
} catch (JSONException e) {
}