目录

1.什么是json?

2.什么是一个json的对象

3.服务器端如何封装一个json的字符串呢


1.什么是json?

通俗来说 就是把java对象转换为一个json的字符串,再到浏览器端把json的字符串转换为javascript的对象。

也就是一个序列化和反序列化的过程

也就是这样一个过程

2.什么是一个json的对象

1

[{"name":"JSON","address":"四川省","age":18}]//数据对象格式

但是由于浏览器获得并不是一个json的对象,而是一个json的字符串(json的字符串不具有属性,也就是无法获取到对象里面的值)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<script type="text/javascript">

var s1="{name:'xyf',age:19}"//普通的字符串,普通字符串没有属性

var p1={name:'yzk',age:18};//普通键值对对象

alert(s1);

alert(p1);

alert(p1.age);

alert(s1.name);

var p2=eval("("+s1+")");//转换对象 eval字符串转换为对象,使用eval将

alert("名称是"+p2.name);

//eval会有安全问题 应该使用json来转换,只有新的浏览器才支持

var s2="[3,5,9]";

var arrl=JSON.parse(s2);

alert(arrl[2]);//得到第三个对象

</script>

 需要通过转换的方式将其转换为json的对象

方法一:eval方法转换,但是该方法不安全

1

var p2=eval("("+s1+")");//转换对象 eval字符串转换为对象,使用eval将

方法二:json.parse方法,该方法只支持新版的浏览器

1

2

3

var s2="[3,5,9]";

var arrl=JSON.parse(s2);

alert(arrl[2]);//得到第三个对象

3.服务器端如何封装一个json的字符串呢

方法一:直接拼接,简单粗暴,但是每次都这样就很麻烦

1

String s="{age:"+u.getAge()+",phoneNum:'"+u.getPhone()+"'}";

方法二:

1

2

3

Gson gson=new Gson();

         String s=gson.toJson(u);//遍历所有字段并生成json

         resp.getWriter().println(s);    

使用谷歌的gson来封装一个字符串

需要导入jar文件到lib下

gson-2.5.jar   点击打开链接

同样使用gson来封装字符串有两个问题

1.json不能调用类中的方法,也就是假如你定义一个toString的方法 在浏览器端是无法解析出来的

2.json通过字段来获取封装为字符串,并不是遍历一个类中的所有成员。

Json是什么?Json的数据格式如何转换相关推荐

  1. 【Python】-- python与json数据格式的转换

    什么是json? json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据. json主要功能 json是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递与交互. ...

  2. python——json数据格式的转换

    json:是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串) Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字 ...

  3. json c语言 数组转字符串数组中,json和字符串/数组/集合的互相转换の神操作总结...

    一:前端字符串转JSON的4种方式 1,eval方式解析,恐怕这是最早的解析方式了. function strToJson(str){ var json = eval('(' + str + ')') ...

  4. 使用Jackson实现json格式字符串与obj之间的转换

    文章目录 1. json字符串简介 2. 转换工具 3. json与obj相互转换 2.1 obj转json字符串 2.2 json字符串转obj 2.3 转换为List类型 2.4 转化为Map类型 ...

  5. C#与Json实现字符串和对象的互相转换

    背景 最近项目中包含前后端数据交互,后台采用C#语言,自然少不了与前端的数据交互,经商议采用Json数据格式进行交互. 简单实现 1.新建C#控制台项目Test 2.解决方案管理器中右键单击引用-&g ...

  6. Java之 XML与JSON(公众平台接口数据格式)

    Java之 XML与JSON(公众平台接口数据格式) 1. XML 2. XML语法 2.1XML文档声明 2.2 标记(元素/标签/节点) 2.3 一个XML文档中,必须有且且仅允许有一个根标记 2 ...

  7. 将Model对象转换成json文本或者json二进制文件

    将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...

  8. 【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )

    文章目录 一.JSON 序列化工具 二.JSON 手动序列化 三.根据 JSON 编写 Dart 模型类 四.在线自动转换 五.相关资源 一.JSON 序列化工具 JSON 格式比较简单的话 , 使用 ...

  9. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  10. Json对象与Json字符串互转(4种转换方式)

    Json字符与Json对象的相互转换方式有很多种: 1. jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以 ...

最新文章

  1. K8s中的external-traffic-policy是什么?
  2. 谷歌施密特:美人才签证政策让硅谷转移到中国
  3. Java基础:类加载器
  4. 约束条件创建定义表(主码,外码的确定和防止空值等)
  5. Linux运维趋势采摘 -14期 【第一次编辑】
  6. leetcode 303. Range Sum Query - Immutable | 303. 区域和检索 - 数组不可变(一维前缀和问题)
  7. Linux学习笔记-编译与链接的过程
  8. 信息学奥赛一本通 1165:Hermite多项式
  9. 分数加减乘除混合运算带答案_分数分数加减乘除混合运算练习题及答案_0.doc
  10. python计算众数
  11. 图案、标签、logo
  12. Java调用MATLAB作图是的ERROR--MWEException
  13. Python入门经典(2K超清)
  14. AR.js摄像头前置的问题(已解决)(H5调用摄像头)
  15. 吉他录音混音教程|连这些录音知识都不懂,以后还怎么“混”?| MZD Studios
  16. golang的图片操作:缩放图片+合成图片
  17. 经典贪吃蛇大战逆向 去广告+游戏内购
  18. shel ---条件、循环
  19. 打卡day01 python基础—常用数据类型
  20. 被“自由行动祝福”环绕的战士 —— 微软实习之魔兽攻略版

热门文章

  1. angular双向绑定理解
  2. mysql常见面试题及答案_MySQL常见面试题与答案整理
  3. 0Cr15Ni7Mo2Al(15-7PH)钢的化学成分
  4. 一:虚拟化之KVM(上)
  5. linux下使用usb转串口,Linux下使用USB转串口线
  6. Web安全入门自学笔记—基础知识(二)
  7. 【转】未来标志设计10大趋势分析研究报告
  8. 深入MyBatis开发之mybatis映射器
  9. 西邮Linux兴趣小组2019年面试题总结
  10. VIVO的语助到底如何?网友可回复自评,不行我们就这样做