一:前端字符串转JSON的4种方式

1,eval方式解析,恐怕这是最早的解析方式了。

function strToJson(str){

var json = eval('(' + str + ')');

return json;

}

2,new Function形式,比较怪异哦。

function strToJson(str){

var json = (new Function("return " + str))();

return json;

}

IE6/7中当字符串中含有换行(\n)时,new Function不能解析,但eval却可以。

3,使用全局的JSON对象。

function strToJson(str){

return JSON.parse(str);

}

目前IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法。

使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下

var str = '{name:"jack"}';

var obj = JSON.parse(str); // --> parse error

name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。

4,Jquery插件支持的转换方式

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

二.Java中字符串转JSON格式

1.使用JSONObject类的构造方法

public class Demo {

public static void main(String[] args) throws Exception {

String str = "{\"a\":\"b\", \"c\":\"d\"}";

JSONObject a = new JSONObject(str);

System.out.println(a); // {"c":"d","a":"b"}

System.out.println(a.get("c")); // d

}

}

2.使用JSONObject的fromObject(jsonstr)方法

import net.sf.json.*;

JSONObject jsStr = JSONObject.fromObject(params); //将字符串{“id”:1}

int jsID = Integer.parseInt(jsStr.getString("id"));//获取id的值

三.Java中字符串转JSON格式数组并遍历

//当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。

//首页导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串

JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray 对象

if(json.size()>0){

for(int i=0;i

JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象

System.out.println(job.get("name")+"=") ; // 得到 每个对象中的属性值

}

}

四.Java中字符串转JSON格式的集合类型操作

map转string

Map map=new HashMap();

map.put("name", "思思博士");

map.put("age","25");

JSONObject jsonObject=JSONObject.fromObject(map);

String res=jsonObject.toString();

System.out.println(res);

结果:{"age":"25","name":"思思博士"}

list转string

List list=new ArrayList();

list.add("中华");

list.add("人民");

list.add("共和国");

JSONArray jsonArray=JSONArray.fromObject(list);

String res=jsonArray.toString();

System.out.println(res);

结果:["中华","人民","共和国"]

string转map

String res="{\"age\":\"25\",\"name\":\"思思博士\"}";

//或者这样

//res="{'age':'25','name':'思思博士'}";

JSONObject jsonObject=JSONObject.fromObject(res);

Map map = (HashMap) JSONObject.toBean(jsonObject, HashMap.class);

System.out.println(map);

System.out.println(map.size());

System.out.println(map.get("name"));

System.out.println(map.getClass().getName());

结果:

{name=思思博士, age=25}

2

思思博士

java.util.HashMap

String 转成我们的自定义类

package json;

public class UserBean {

private String name;

private String age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

}

String userS = "{'name':'思思博士','age':'25'}";

JSONObject obj = JSONObject.fromObject(userS);

UserBean userBean = (UserBean) JSONObject.toBean(obj, UserBean.class);

System.out.println(userBean.getName());

字符串转换成数组(原文是转换成list,自己试了一下,不对,这些都是json工具类的扩展,不一定飞非要用,不过为了显得牛X,还是多装点吧)

String arrayString="['a','b','ccc']";

JSONArray jsonArray=JSONArray.fromObject(arrayString);

Object[] arr=jsonArray.toArray();

System.out.println(arr.length);

System.out.println(arr[2]);

结果:

3

ccc

一,前端JSON转字符串or解析JSON格式数据

var a={"name":"tom","sex":"男","age":"24"};

var b='{"name":"Mike","sex":"女","age":"29"}';

var aToStr=JSON.stringify(a);

var bToObj=JSON.parse(b);

alert(typeof(aToStr)); //string

alert(typeof(bToObj));//object

JSON.stringify()

1>jQuery插件支持的转换方式:

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

JSON.parse(jsonstr); //可以将json字符串转换成json对象

JSON.stringify(jsonobj); //可以将json对象转换成json对符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。

3>Javascript支持的转换方式:

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

4>JSON官方的转换方式:

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;

可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

java中json和字符串互转及日期转换 练习

一:以下是用到的jar名称: commons-beanutils-1.6.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons- ...

json和php数组 格式的互相转换

$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.jb51.net');  $php_json = json ...

json字符串、json对象、数组 三者之间的转换

json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.parse(j ...

转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...

JSON 与 对象 、集合 之间的转换

JSON字符串和java对象的互转[json-lib]   在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很 ...

关于JSON 与 对象 、集合 之间的转换

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

统计java中字符串,数组,集合大小(长度)

字符串长度用String.length(); 数组用String[].length; 集合用collection.size();

JSON与对象,集合之间的转换

https://www.cnblogs.com/xiatc/p/8952739.html

java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

List list=(List)JSONArray.parseObject(activity.getFull ...

随机推荐

[LeetCode] Reverse Linked List

Reverse a singly linked list. 这题因为palindrome linked list 的时候需要就顺便做了一下.利用三个指针:prev, now, next 相互倒腾就行. ...

4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡

preface Mysql+drbd+heart能够实现Mysql的高可用了,master出现故障的时候能够快速切换.在现在的业务情况下,读操作多,写操作少的情况下,一台DB server明显扛不住, ...

jdk和tomcat配置

1.一次成功的JAVA环境变量配置,必须要配置一下三个系统变量:JAVA_HOME(变量值为JDK的路径),PATH(变量值:%JAVA_HOME%\bin;),CLASS_PATH(变量值为JDK中 ...

Python 爬取 11 万 Java 程序员信息竟有这些重大发现!

一提到程序猿,我们的脑子里就会出现这样的画面: 或者这样的画面: 心头萦绕的字眼是:秃头.猝死.眼镜.黑白 T 恤.钢铁直男-- 而真实的程序猿们,是每天要和无数数据,以及数十种编程语言打交道.上能手 ...

pyspider源码解读--调度器scheduler.py

pyspider源码解读--调度器scheduler.py scheduler.py首先从pyspider的根目录下找到/pyspider/scheduler/scheduler.py其中定义了四个类 ...

java实现按中文首字母排序的方式

public class ABD { public static void main(String[] args) { //Collator类是用来执行区分语言环境的String比较的,这里是选择CH ...

打开和写入word文档

一. 使用win32读取word内容 # -*- coding: utf-8 -*- from win32com import client as wc def readDocx2(): word = ...

Git忽略规则和.gitignore规则不生效的解决办法

Git忽略规则和.gitignore规则不生效的解决办法   Git忽略规则: 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果 ...

Pycharm模板添加默认信息

我们在Pycharm中使用到python3.x版本的解释器,完全没有问题可以正常使用,但是有的时候多少会出现使用python2的时候 我们明明都把代码和文字注释了,为什么使用的时候还会报错呢?? 报错 ...

Python3 学习

没有大括号,使用TAB缩进实现大括号的功能,if else等语句后面也没有小括号,注意和其他高级语言区别句尾没有分号,但if else后面有没有字符概念,用单引号包起来的也是字符串,也就是说单双引号都 ...

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

  1. json和字符串/数组/集合的互相转换の神操作总结

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

  2. 判断字符串s1中是否包含s2字符串c语言,C语言:找出s1中是否存在字符串s2(C language: find out if string s2 exists in s1)...

    C语言:找出s1中是否存在字符串s2(C language: find out if string s2 exists in s1) 是否有任何C函数来检查s1中是否存在字符串s2? s1: &quo ...

  3. 题目十:从字符串2中找出字符串1中的所有字符并按ASCII排序

    给定两个字符串 从字符串2中找出字符串1中的所有字符 去重并按照ASCII码值从小到大排列 输入字符串1长度不超过1024 字符串2长度不超过100 字符范围满足ASCII编码要求,按照ASCII由小 ...

  4. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  5. jq js json 转字符串_JS中JSON对象和String之间的互转及处理技巧

    json:JavaScript 对象表示法(javascript Object Notation),其实JSON就是一个javaScript的对象(Object)而已. 如有不清楚JSON,可以去w3 ...

  6. c语言cgi json,CGI程序学习(4)-C程序中JSON解析

    C程序中数据封装和解析也可以用到JSON,不过需要额外添加json.h库 #include //用于存储数据 int array_number; char wifiname_user[100][100 ...

  7. floatmap 二维数组_用J中的多维数组进行Arrays.fill

    用J中的多维数组进行Arrays.fill 如何在不使用循环的情况下用Java填充多维数组? 我试过了: double[][] arr = new double[20][4]; Arrays.fill ...

  8. java 数组存入数据库_Java中关于二维数组的理解与使用

    今天练习的时候遇到一个题目,题目需求是这样的: 需求说明: 根据3个班各5名学生某门课程的成绩,正确使用二维数组计算如图所示3个班各自的总成绩 分析: 要实现这个功能需要存储两个信息: 一个是班级信息 ...

  9. java 二维数组的筛选_java中的筛选遍历数组,实例展示

    java中关于数组的知识点也是十分丰富的,上次已经为大家介绍过java中的二维数组排序是怎样的主要内容,今天再为大家介绍一些与数组相关的其他内容,也就是java中的筛选遍历数组,一起来看看吧. 一.$ ...

最新文章

  1. 不看不知道 Vista回收站暗藏的大秘密
  2. oracle 11g goldengate DML单向复制测试环境搭建
  3. linux 内核编译错误 Makefile:416: *** mixed implicit and normal rules: deprecated syntax
  4. 图片尺寸对分类迭代次数和准确率的影响
  5. linux设置关闭省电模式
  6. java guice_java – Guice:如何为一个类型获得多个@Provides?
  7. 预告 | CSIG图像图形学科前沿讲习班:图神经网络
  8. 【数据结构与算法】之深入解析“删除二叉搜索树中的节点”的求解思路与算法示例
  9. 2017蓝桥杯省赛---java---B---9(分巧克力)
  10. centos7 安装redmin3.3.0+postgresql数据库
  11. 面向对象程序设计上机练习五(类和对象)
  12. 四种方法解决DIV高度自适应问题
  13. 敏捷开发基础篇(一)-流程与角色基本概念
  14. hdu 1284 dp
  15. iNode客户端安装
  16. 算法笔记---自底向上的赫夫曼编码
  17. Unity 通过代码修改材质球属性
  18. 美国好莱坞经典系列影片推荐
  19. linux中mtd动态加载,Linux 2.6.11 下 MTD驱动情景实例分析
  20. 美团程序员提问:应届生,工资34k,算多吗?

热门文章

  1. mysql 左右值算法详解_无限分类左右值算法的常规操作逻辑
  2. 容器入门(5)- 在Registry之间复制镜像
  3. Elasticseach 从零开始学习记录(二) - Head插件
  4. (九)把一切放在一起:用深度伪造换脸
  5. 统一并发 III——跨基准测试
  6. 使用xUnit测试验证属性
  7. 互联网协会点名QQ音乐等14款 App 过度收集用户信息
  8. python中if函数的使用方法_(for i in range) (else) (if)使用方法
  9. tensorflow-gpu_tensorflow GPU环境安装踩坑日记
  10. 我对python的理解_python之我对装饰器的理解