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))();
大家可以试试。
分享到:
相关推荐
二、JSON生成 1. 创建TJSONObject对象:这是JSON对象的基础,可以通过构造函数创建一个空的JSON对象。 2. 添加键值对:使用TJSONObject的AddPair方法添加键值对。例如,`JSONObject.AddPair(TJSONPair.Create('key',...
本篇文章将深入探讨Android中的JSON生成和解析。 首先,让我们了解JSON的基本结构。JSON是一种键值对的集合,可以是对象(由花括号{}包围)或数组(由方括号[]包围)。例如: ```json { "name": "John", "age": ...
在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。PB,作为一款强大的客户端应用程序开发工具,需要处理从Web服务获取或向...
它以易于人阅读和编写的方式,同时也易于机器解析和生成。PB9(PowerBuilder 9)是一款强大的Windows应用程序开发工具,支持创建数据库驱动的应用程序。在PB9中处理JSON数据,通常涉及到两个关键步骤:生成JSON字符...
标题中的“pb json 生成、解析 (更新)”指的是在PowerBuilder(简称PB)环境中处理JSON数据的最新技术,包括创建和解析JSON格式的数据。这里提到的“更新”可能是指一个新版本或者改进的库,使得这个过程更加高效。 ...
它基于JavaScript的一个子集,但设计目标是简洁、易读性和易编写性,同时也易于机器解析和生成。 在Java中,处理JSON的库有很多,如Gson、Jackson、org.json、Fastjson等。这些库提供了方便的API来实现JSON的生成和...
采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json,支持dw导入出json时对指定字段进行des加密,并在导入到dw时时进行des解密,修改了pbvm115.dll...
值得注意的是,根据提供的描述,“PBJson用于解析和生成Json结构的字符串,没有涉及Json嵌套字符串情况”。这意味着Pbjson可能不支持Json的嵌套结构,即Json对象内包含其他Json对象或数组的情况。对于简单的Json结构...
通过解析Json数据生成树状结构 1、使用newtonsoft.json解析json 2、无限级 3、父子节点联动
描述中提到的“PB解析和生成JSON”,是指将PB编码的数据转换成JSON格式,以及检查JSON解析是否成功,以及如何生成默认的JSON数据。这涉及到两种不同的数据表示形式之间的转换。 1. **PB解析**:当一个应用程序接收...
- ProtoBuf是一种二进制数据表示格式,它比XML或JSON更紧凑,解析和生成速度更快。 - `.pbl` 文件是ProtoBuf的库文件,包含定义的协议消息类型,类似于接口或结构体定义。 - `.pbt` 文件是ProtoBuf的项目文件,...
它以文本形式存储和传输数据,易于人阅读和编写,同时也容易让机器解析和生成。在Java和Android开发中,JSON处理是必不可少的技能。 在Java中,我们常用的JSON库有`org.json`和`com.google.gson`。`org.json`库提供...
采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json(dw的字段名全为小写字母,可在column属性的tag设置),支持dw导出json时对指定字段进行des加密...
采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json(dw的字段名全为小写字母,可在column属性的tag设置),支持dw导出json时对指定字段进行des加密...
标题中的“dotnet-一个用于解析swaggerjson生成符合WebApiClient接口代码的代码生成工具”指出,这是一个基于.NET框架的工具,其主要功能是解析Swagger JSON格式的文档,自动生成符合WebApiClient规范的接口代码。...
标题中的"pb_json解析、生成(修改)"指的是在PowerBuilder(简称PB)环境中处理JSON数据的相关操作,包括解析和生成JSON格式的数据,并可能涉及到对已有的解析或生成过程进行优化和修正,例如解决中文乱码问题。...
《.NET 生成和解析 JSON》 在现代的Web开发中,JSON(JavaScript Object Notation)已经成为数据交换的标准格式,因为它轻量级、易于阅读和编写,并且被大多数编程语言支持。在.NET环境中,处理JSON涉及到两个主要...
1. JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,使用键值对(key-value pairs)的形式来存储数据,支持数组和...
它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在本示例"json复杂数据解析demo"中,我们将探讨如何处理结构复杂、层次丰富的JSON数据。 首先,我们需要理解JSON的基本结构。JSON数据由...
它包括一个解析器(Parser)用于读取JSON,一个生成器(Generator)用于写入JSON,以及一个模型(Model)来表示JSON结构。 4. JSON-B(Java Bindings for JSON-B):这是另一个Java标准API,类似于Gson,但遵循JSR ...