js中如何将一字符串表示的日期转换为Date对象?

var a = "2006/12/1"

d = new Date(a)

<br/>写个json对象demo瞧一瞧,json对象都有什么特?

var obj={"a":1,"b":2},,就是这种,,和map很像,,就是键值对的 传值方式

如何把这样的json串转换成对象

1.简单的解析json字符串

首先将json字符串转换为json对象,然后再解析json对象,过程如下。

JSONObject jsonObject = JSONObject.fromObject(jsonStr);

[java] view plain copy

根据json中的键得到它的值

String name = jsonObject.getString("name");

int num = jsonObject.getInt("num");

String sex = jsonObject.getString("sex");

int age = jsonObject.getInt("age");

2.将json字符串转换为java对象

同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所示。

JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象

将json对象转换为java对象

Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象

3.将java对象转换为json字符串

先将java对象转换为json对象,在将json对象转换为json字符串

JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象

String str = json.toString();//将json对象转换为字符串

完整代码如下:

[java] view plain copy

package baz.parse;

import java.util.ArrayList;

import java.util.List;

import net.sf.json.JSON;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

import net.sf.json.JSONSerializer;

import baz.bean.Person;

public class ParseJson {

private String jsonStr;

public ParseJson() {

}

public ParseJson(String str){

this.jsonStr = str;

}

/**

* 解析json字符串

*/

public void parse(){

JSONObject jsonObject = JSONObject.fromObject(jsonStr);

String name = jsonObject.getString("name");

int num = jsonObject.getInt("num");

String sex = jsonObject.getString("sex");

int age = jsonObject.getInt("age");

System.out.println(name + " " + num + " " + sex + " " + age);

}

//将json字符串转换为java对象

public Person JSON2Object(){

//接收{}对象,此处接收数组对象会有异常

if(jsonStr.indexOf("[") != -1){

jsonStr = jsonStr.replace("[", "");

}

if(jsonStr.indexOf("]") != -1){

jsonStr = jsonStr.replace("]", "");

}

JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象

Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象

return jb;//返回一个Person对象

}

[java] view plain copy

package baz.bean;

public class Person {

private String name;

private int num;

private String sex;

private int age;

public Person() {

// TODO Auto-generated constructor stub

}

public Person(String name, int num, String sex, int age) {

super();

this.name = name;

this.num = num;

this.sex = sex;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

将java对象转换为json字符串

[java] view plain copy

package baz.cons;

import net.sf.json.JSONObject;

* 将java对象转换为json字符串

* @author Administrator

*/

public class ConsJson {

public ConsJson() {

// TODO Auto-generated constructor stub

}

public String Object2Json(Object obj){

JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象

String str = json.toString();//将json对象转换为字符串

return str;

}

[java] view plain copy

package baz.test;

import java.util.List;

import baz.bean.Person;

import baz.cons.ConsJson;

import baz.parse.ParseJson;

public class Test {

public static void main(String[] args) {

//将字符串转换为json对象,然后根据建得到相应的值

ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");

pj.parse();

//将一个json字符串转换为java对象

Person p = pj.JSON2Object();

System.out.println("Name:" + p.getName());

System.out.println("Num:" + p.getNum());

System.out.println("Sex:" + p.getSex());

System.out.println("age:" + p.getAge());

//将一个java对象转换为Json字符串

Person p1 = new Person("gu1",123,"male",23);

ConsJson cj = new ConsJson();

String str1 = cj.Object2Json(p1);

System.out.println(str1);

}

测试输出如下:

gu 123456 male 24

Name:gu

Num:123456

Sex:male

age:24

{"age":23,"name":"gu1","num":123,"sex":"male"}

java中,json格式的字符串转换成对象

要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:

1.commons-lang.jar

2.commons-beanutils.jar

3.commons-collections.jar

4.commons-logging.jar

5.ezmorph.jar

6.json-lib-2.2.2-jdk15.jar1. 先来解释反斜杠干嘛用的:

你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.

假如我有个json对象:

"message" :"success"

那么问题来了,怎么把它放到一个string字符串对象里呢?

那么我们都会这么做:

string json = "{"message":"success"}";对吧?但是这么做对吗?前面说过了,字符串是引号开始,引号结尾的,再看一眼这么做对吗?

所以我们需要转义字符去将引号放入字符串当中,而不是字符串定义的功能。“  \" ”就是表示将双引号放入字符串中。

2. json字符串转java对象

下面以ali的fastjson为例,讲解json字符串转json对象:

string jsonstr = "{\"message\" : \"success\"}";

jsonobject jsonobject = json.parseobject(jsonstr);

string message = jsonobject.getstring("message");

system.out.println(message);假如你有想要转换成的bean :

public class info {

private string message;

public string getmessage() {

return message;

}

public void setmessage(string message) {

this.message = message;

}

}就可以这样:

string jsonstr = "{\"message\" : \"success\"}";

info info = json.parseobject(jsonstr, info.class);

system.out.println(info.getmessage()); 这里的fastjson只是处理json的框架中的一个,此外还有jackson、gson等等,可以根据自己的需求选择一个就可以了。