json字符串转对象(json字符串转对象的方法)
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等等,可以根据自己的需求选择一个就可以了。
json字符串转对象(json字符串转对象的方法)相关推荐
- js中的json对象和字符串之间的转化
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = ...
- javascript json对象转字符串形式
2019独角兽企业重金招聘Python工程师标准>>> /*** json对象转字符串形式*/function json2str(o) {var arr = [];var fmt = ...
- JSON对象和字符串之间的相互转换
比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex":"男&quo ...
- java中将json字符串_Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
- json对象与字符串互转方法
字符串转json对象: var data = eval( '(' + str + ')' ); json对象转字符串: var jsonStr = JSON.stringify( obj ); 转载于 ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...
- JSON 对象和字符串对象的互转
JSON.stringify( json ); 此方法可以把一个 json 对象转换成为 json 字符串 JSON.parse( jsonString ); 此方法可以把一个 json 字符串转换成 ...
- js json对象转字符串_Mock.js模拟数据实现前端独立开发
在后端接口尚未完成时, 前端开发人员只能请求静态文件的方式来模拟数据, 非常繁琐, 使用mockjs, 我们可以对ajax请求进行拦截, 随机生成各种各样的数据, 包括图片, 非常方便, 由于实在肝不 ...
- 十分钟搞懂JSON(JSON对象---JSON字符串---对象 之间的区别)
好记性不如烂笔头,相信我,看了之后你会彻底搞懂JSON 前言:前天被JSON对象,JSON字符串,JAVA对象搞混了,不知道各自代表的意思,我就查了资料,总结为一篇博文. 另外我想List<Us ...
- (转)解决fasterxml中string字符串转对象json格式错误问题(无引号 单引号问题)...
原文地址:解决fasterxml中string字符串转对象json格式错误问题 com.fasterxml.jackson.databind.ObjectMapper mapper = new com ...
最新文章
- web api接口开发实例_小程序开发如何调用 API 接口,以豆瓣电影为例
- maven进阶:一个多模块项目
- python中什么是按位取反_Python学习中的“按位取反”笔记总结
- Windows Terminal Preview 1909 发布
- vue生命周期及其应用场景
- 吴恩达神经网络和深度学习-学习笔记-11-Momentum梯度下降法
- C++智能指针的几种用法
- 190404每日一句
- OO第二次博客——电梯系列总结
- windbg+vm双机调试 waiting to reconnect 无法连接问题,解决办法
- Word小技巧总结(持续更新中……)
- 数据结构系列-队列的基本操作
- mac打包dmg文件
- 疫情地图 | EXCEL制作疫情风险地地图
- Apache Beam开发指南
- 华为操作系统鸿蒙 hms生态系统,华为HMS生态系统服务是什么 鸿蒙操作系统机会来了...
- 温度报警程序c语言设计,单片机温度报警器与时钟显示C程序和原理图
- 全志A10编译服务器ubuntu10.04.4 64bit安装及配置
- 联想小新潮7000黑苹果教程_小新黑苹果-锐7000(10.13.6)双系统安装_小新笔记本-联想社区...
- 作业扣最少的分(要选好贪心目标)