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 ...
随机推荐
- Java中list.get(index)报错
1.list.get(index)中的index为负值异常 严重:Exception occurred during processing request:-1 java.lang.ArrayInde ...
- MySQL插入数据异常
MySQL插入数据异常 1.错误如下: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Dupli ...
- java打印等腰三角形的两种方法!(根据行数,根据底边长度)
首先来看根据用户输入的底边的长度判断: package cn.edu.nwpu.java; import java.util.Scanner; public class IsoscelesTriang ...
- idea好用插件(一)
代码规范插件 Alibaba Java Coding Guidelines 安装后 可以在文件.文件夹邮件,显示编码规约扫描,点击后显示 可以通过双击定位问题代码,对某些问题可以进行快速的修复 比如: ...
- CF374 Journey
技不如人甘拜下风 这题网上说法有 建反向边和先拓扑 都是为了每个点之前将其前驱都遍历到 #include<bits/stdc++.h> using namespace std; typed ...
- CF370 D Memory and Scores
dp题 并运用了前缀和 我看题目提示中有fft 我想了下感觉复杂度不过关还是未解 #include<bits/stdc++.h> using namespace std; typedef ...
- 消息队列mq的原理及实现方法
消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行前不需要等待 ...
- HDU4812
树分治 求逆元请递推,不然会TLE 开桶记录即可 注意常数 # pragma comment(linker,"/STACK:102400000,102400000") # incl ...
- Spring【依赖注入】就是这么简单
前言 在Spring的第二篇中主要讲解了Spring Core模块的使用IOC容器创建对象的问题,Spring Core模块主要是解决对象的创建和对象之间的依赖关系,因此本博文主要讲解如何使用IOC容 ...
- 组Json以及拆分Json
例子: 组Json串: procedure TForm8.Button4Click(Sender: TObject); var i: Integer; jfields, jitems, jo: ISu ...