`

json生成和解析

    博客分类:
  • json
 
阅读更多
json生成和解析

package fastjson;

import java.util.*;

import com.alibaba.fastjson.JSON;
class User{
	private String name;
	private int age;
	public User(){
	}
	public User(String name,int age){
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}
class Group{
	private String id;
	private String name;
	private List<User> users = new ArrayList<User>();
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public List<User> getUsers() {
		return users;
	}
	public void setUsers(List<User> users) {
		this.users = users;
	}
}
public class Main {
	public static void main(String[] args) {
		Group group = new Group();
		group.setId("01");
		group.setName("team gourp");
		List<User> users = new ArrayList<User>();
		users.add(new User("tomcat",12));
		users.add(new User("jerry",12));
		group.setUsers(users);
		//转成json字符串
		String jsonString = JSON.toJSONString(group);
		System.out.println(jsonString);
		//将json字符串转成对象
		Group g = JSON.parseObject(jsonString, Group.class);
		System.out.println(g.getUsers().get(0).getName());
	}
}


控制台打印如下:
{"id":"01","name":"team gourp","users":[{"age":12,"name":"tomcat"},{"age":12,"name":"jerry"}]}
tomcat


上面用到的转JSON的类是来自阿里巴巴的牛人写的fastjson,我把jar包和源码都贴到下面,有想用的自己下载下来看看。

1、JS自带方法eval()解析JSON字符串

将上面输出的JSON字符串放入eval()中解析:

<html>
	<head>
		<script type="text/javascript">
			var obj = eval("("+'{"id":"01","name":"team gourp","users":[{"age":12,"name":"tomcat"},{"age":12,"name":"jerry"}]}'+")");
			alert(obj.id+","+obj.users[0].name+","+obj.users[1].name);
		</script>
	</head>
</html>


页面弹出对话框,显示如下:

01,tomcat,jerry


这里注意下不能直接把json字符串放到eval()的括号里面,由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语 句(statement)来执行。


出了上面的eval()方法解析json字符串,下面这个也同样奏效
var json='{"name":"CJ","age":18}';

data =(new Function("","return "+json))();


大家可以试试。

分享到:
评论

相关推荐

    Delphi利用DBXJSON实现JSON生成和解析

    二、JSON生成 1. 创建TJSONObject对象:这是JSON对象的基础,可以通过构造函数创建一个空的JSON对象。 2. 添加键值对:使用TJSONObject的AddPair方法添加键值对。例如,`JSONObject.AddPair(TJSONPair.Create('key',...

    android json 的生成和解析

    本篇文章将深入探讨Android中的JSON生成和解析。 首先,让我们了解JSON的基本结构。JSON是一种键值对的集合,可以是对象(由花括号{}包围)或数组(由方括号[]包围)。例如: ```json { "name": "John", "age": ...

    PB解析json,解析JSON案例,解析jsondemo

    在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。PB,作为一款强大的客户端应用程序开发工具,需要处理从Web服务获取或向...

    PB9生成和解析JSON

    它以易于人阅读和编写的方式,同时也易于机器解析和生成。PB9(PowerBuilder 9)是一款强大的Windows应用程序开发工具,支持创建数据库驱动的应用程序。在PB9中处理JSON数据,通常涉及到两个关键步骤:生成JSON字符...

    pb json 生成、解析 (更新)

    标题中的“pb json 生成、解析 (更新)”指的是在PowerBuilder(简称PB)环境中处理JSON数据的最新技术,包括创建和解析JSON格式的数据。这里提到的“更新”可能是指一个新版本或者改进的库,使得这个过程更加高效。 ...

    json 的生成和解析

    它基于JavaScript的一个子集,但设计目标是简洁、易读性和易编写性,同时也易于机器解析和生成。 在Java中,处理JSON的库有很多,如Gson、Jackson、org.json、Fastjson等。这些库提供了方便的API来实现JSON的生成和...

    pb json 生成、解析,dw导入导出json,select-sql转json(20231120更新)

    采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json,支持dw导入出json时对指定字段进行des加密,并在导入到dw时时进行des解密,修改了pbvm115.dll...

    Pbjson字符串生成与解析

    值得注意的是,根据提供的描述,“PBJson用于解析和生成Json结构的字符串,没有涉及Json嵌套字符串情况”。这意味着Pbjson可能不支持Json的嵌套结构,即Json对象内包含其他Json对象或数组的情况。对于简单的Json结构...

    解析Json生成树状结构(无限级)

    通过解析Json数据生成树状结构 1、使用newtonsoft.json解析json 2、无限级 3、父子节点联动

    PB解析和生成JSON

    描述中提到的“PB解析和生成JSON”,是指将PB编码的数据转换成JSON格式,以及检查JSON解析是否成功,以及如何生成默认的JSON数据。这涉及到两种不同的数据表示形式之间的转换。 1. **PB解析**:当一个应用程序接收...

    pb解析与生成json

    - ProtoBuf是一种二进制数据表示格式,它比XML或JSON更紧凑,解析和生成速度更快。 - `.pbl` 文件是ProtoBuf的库文件,包含定义的协议消息类型,类似于接口或结构体定义。 - `.pbt` 文件是ProtoBuf的项目文件,...

    json生成与解析示例

    它以文本形式存储和传输数据,易于人阅读和编写,同时也容易让机器解析和生成。在Java和Android开发中,JSON处理是必不可少的技能。 在Java中,我们常用的JSON库有`org.json`和`com.google.gson`。`org.json`库提供...

    pb json 生成、解析,dw导入导出json

    采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json(dw的字段名全为小写字母,可在column属性的tag设置),支持dw导出json时对指定字段进行des加密...

    pb json 生成、解析,dw导入导出json(20211208更新)

    采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json(dw的字段名全为小写字母,可在column属性的tag设置),支持dw导出json时对指定字段进行des加密...

    dotnet-一个用于解析swaggerjson生成符合WebApiClient接口代码的代码生成工具

    标题中的“dotnet-一个用于解析swaggerjson生成符合WebApiClient接口代码的代码生成工具”指出,这是一个基于.NET框架的工具,其主要功能是解析Swagger JSON格式的文档,自动生成符合WebApiClient规范的接口代码。...

    pb_json解析、生成(修改)

    标题中的"pb_json解析、生成(修改)"指的是在PowerBuilder(简称PB)环境中处理JSON数据的相关操作,包括解析和生成JSON格式的数据,并可能涉及到对已有的解析或生成过程进行优化和修正,例如解决中文乱码问题。...

    .net 生成和解析 JSON

    《.NET 生成和解析 JSON》 在现代的Web开发中,JSON(JavaScript Object Notation)已经成为数据交换的标准格式,因为它轻量级、易于阅读和编写,并且被大多数编程语言支持。在.NET环境中,处理JSON涉及到两个主要...

    js 解析 json 生成树

    1. JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,使用键值对(key-value pairs)的形式来存储数据,支持数组和...

    json复杂数据解析demo

    它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在本示例"json复杂数据解析demo"中,我们将探讨如何处理结构复杂、层次丰富的JSON数据。 首先,我们需要理解JSON的基本结构。JSON数据由...

    java 解析 json文件 java 解析 json文件

    它包括一个解析器(Parser)用于读取JSON,一个生成器(Generator)用于写入JSON,以及一个模型(Model)来表示JSON结构。 4. JSON-B(Java Bindings for JSON-B):这是另一个Java标准API,类似于Gson,但遵循JSR ...

Global site tag (gtag.js) - Google Analytics