JSON字符串转为JSON对象
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是对象,所以,JSON对象(js对象)和JSON字符串之间的相互转换是关键。
JSON可以有两种格式,一种是对象格式的,另一种是数组对象。
//数据准备
var jsonStr = '{"name":"dxm", "password":"1111"}'; var jsonObj = {"name":"dxm", "password":"1111"};
1、json字符串与js对象转换
var jsonObj = $.parseJSON( jsonstr ); //jQuery提供,可以将json字符串转换成json对象
var str = jsonObj.toJSONString();
var jsonObj = eval('(' + jsonStr + ')'); //不推荐这些方式,这种方式不安全eval会执行json串中的表达式
var jsonObj = JSON.parse(jsonStr); //JSON.parse(string)将字符串转为JSON格式;
var jsonObj = JSON.stringify(jsonStr);//JSON.stringify(obj)将JSON转为字符串
2、JSON 字符串 与 java 对象的转换
转JSON字符串
//使用JSONObject
JSONObject json = JSONObject.fromObject(stu);
//使用JSONArray
JSONArray array=JSONArray.fromObject(stu);
转java对象
public static void jsonStrToJava(){
//定义两种不同格式的字符串
String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"HZ\"}";
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"HZ\"}]";
//1、使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
//2、使用JSONArray
JSONArray jsonArray=JSONArray.fromObject(arrayStr);
//获得jsonArray的第一个元素
Object o=jsonArray.get(0);
JSONObject jsonObject2=JSONObject.fromObject(o);
Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
System.out.println("stu:"+stu);
System.out.println("stu2:"+stu2);
}
3、JSON 字符串 与集合的转换
list:
public static void listToJSON(){
Student stu=new Student();
stu.setName("JSON");
stu.setAge("23");
stu.setAddress("HZ");
List<Student> lists=new ArrayList<Student>();
lists.add(stu);
//1、使用JSONObject
//JSONObject listObject=JSONObject.fromObject(lists).toString();
//2、使用JSONArray
JSONArray listArray=JSONArray.fromObject(lists).toString();
}
public static void jsonToList(){
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"HZ\"}]";
//转化为list
List<Student> list2=(List<Student>)JSONArray.toList(JSONArray.fromObject(arrayStr), Student.class);//转化为数组
Student[] ss =(Student[])JSONArray.toArray(JSONArray.fromObject(arrayStr),Student.class);
}
Map:
public static void mapToJSON(){
Student stu=new Student();
stu.setName("JSON");
stu.setAge("23");
stu.setAddress("HZ");
Map<String,Student> map=new HashMap<String,Student>();
map.put("first", stu);
//1、JSONObject
JSONObject mapObject=JSONObject.fromObject(map).toString();//2、JSONArray
JSONArray mapArray=JSONArray.fromObject(map).toString;
}
参考:https://www.cnblogs.com/zq-boke/p/5833387.html
https://www.cnblogs.com/teach/p/5791029.html
JSON字符串转为JSON对象的更多相关文章
- json字符串转为json对象-jQuery.parseJSON()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用js把json字符串转为js对象的方法
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐怕 ...
- JS中将json字符串转为json对象的三种方式
第一种:利用JSON的parse方法,即jsonObj=JSON.parse(jsonStr); 第二种:jsonObj = eval('(' + jsonStr+ ')'); 第三种:比较难理解:j ...
- C# JObject将json字符串转为json对象
static void Main(string[] args) { string json = "{\"name\": \"测试\",\"m ...
- js 把json字符串转为json对象
<input type="hidden" name="data" id="data" value='[{"name&q ...
- JAVA中如何将一个json形式的字符串转为json对象或对象列表
import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- json字符串转java对象
今天遇到一个问题,前端ajax获取到一个javaBean对象,好多方法发ajax请求需要把这个对象再传到后端,后端再根据这个对象进行操作(之前计划传递id,但发现传递id的话,后端多个方法都需要根据i ...
- json格式的字符串转为json对象遇到特殊字符问题解决
中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 va ...
随机推荐
- JUnit4测试出错(一)
log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUn ...
- VC++信息安全编程(13)Windows2000/xp/vista/7磁盘扇区读写技术
有些时候,我们读取磁盘文件,会被hook.我们读到的可能并非实际的文件. 我们直接读取磁盘扇区获取数据. 实现磁盘数据的读写,不依赖WindowsAPI. [cpp] view plaincopy v ...
- 使用VLC和live555MediaServer搭建RTSP服务器
一.使用VLC搭建 服务端 1.打开"媒体--流"选项,如图所示: 2.点击"添加"按钮选择流媒体文件,然后点击"串流"按钮 3.点击& ...
- java中equals和==以及toString
我们通常在控制台输出时使用System.out.print(),print只能直接输出基本类型和字符串,对于其他的类型直接输出将会输出@开头的引用,因此若需要输出对应的内容则需要使用toSring方法 ...
- Java和Flex整合报错(四)
1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...
- JDBC连接池(三)DBCP连接池
JDBC连接池(三)DBCP连接池 在前面的随笔中提到 了 1.JDBC自定义连接池 2. C3P0连接池 今天将介绍DBCP连接池 第一步要导入jar包 (注意:mysql和mysql 驱动 ...
- dtls_srtp学习笔记
注:以下为rfc5764的学习笔记,不保证完全正确. DTLS-SRTP是DTLS的一个扩展,将SRTP加解密与DTLS的key交换和会话管理相结合.从SRTP的角度看,是为其提供一种新的key协商管 ...
- Spring 之BeanFactory(转)
BeanFactory是Spring的“心脏”.它就是Spring IoC容器的真面目. Spring使用BeanFactory来实例化.配置和管理Bean.但是,在大多数情况我们并不直接使用Bean ...
- 【洛谷1026】【NOIP2001】统计单词个数
题面 题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包 ...
- 一道java基础面试题
package test; class A { public A(){ System.out.println("A3"); } { S ...