`
zysnba
  • 浏览: 183773 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

fastjson新手必看

阅读更多
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>x.x.x</version>
</dependency>


package com.json.fastjson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.json.bean.Person;
/*
* 这里将json的转化和解析都放在一起了,大家可以根据实际需要来转化json字符串和解析json字符串
*/
public class FastjsonClass {
public static void main(String[] args) {
method1();
method2();
method3();
method4();
}

static void method1(){
System.out.println("javabean转化示例开始----------");
Person person = new Person("1","fastjson",1);

//这里将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
//这里将json字符串转化成javabean对象,
person =JSON.parseObject(jsonString,Person.class);
System.out.println(person.toString());

System.out.println("javabean转化示例结束----------");
}

static void method2(){
System.out.println("List<javabean>转化示例开始----------");

Person person1 = new Person("1","fastjson1",1);
Person person2 = new Person("2","fastjson2",2);
List<Person> persons = new ArrayList<Person>();
persons.add(person1);
persons.add(person2);
String jsonString = JSON.toJSONString(persons);
System.out.println("json字符串:"+jsonString);

//解析json字符串
List<Person> persons2 = JSON.parseArray(jsonString,Person.class);
//输出解析后的person对象,也可以通过调试模式查看persons2的结构
System.out.println("person1对象:"+persons2.get(0).toString());
System.out.println("person2对象:"+persons2.get(1).toString());

System.out.println("List<javabean>转化示例结束----------");
}

static void method3(){
System.out.println("List<String>转化示例开始----------");
List<String> list = new ArrayList<String>();
list.add("fastjson1");
list.add("fastjson2");
list.add("fastjson3");
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);

//解析json字符串
List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){});
System.out.println(list2.get(0)+"::"+list2.get(1)+"::"+list2.get(2));
System.out.println("List<String>转化示例结束----------");

}

static void method4(){
System.out.println(" List<Map<String,Object>>转化示例开始 ----------");
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", 1);
map2.put("key2", 2);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
//解析json字符串
List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});

System.out.println("map的key1值"+list2.get(0).get("key1"));
System.out.println("map的key2值"+list2.get(0).get("key2"));
System.out.println("ma2p的key1值"+list2.get(1).get("key1"));
System.out.println("map2的key2值"+list2.get(1).get("key2"));
}

}







package com.json.bean;

public class Person {
private String id ;
private String name;
private int age ;

public Person(){

}
public Person(String id,String name,int age){
this.id=id;
this.name=name;
this.age=age;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "解析json字符串后获取的person对象:id的值是" + id + ", name的值是" + name + ", age的值是" + age + "";
}

}
====================================================================
package jsonTest;

public class Student {

private String name;
private int age;

public Student() {
// TODO Auto-generated constructor stub
}

public Student(String name,int age){
this.name=name;
this.age=age;
}

public void setName(String name){
this.name=name;

}

public String getName(){
return name;
}

public void setAge(int age){
this.age=age;
}

public int getAge(){
return age;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return "student [name="+name+" , "+"age="+age+"]";
}

}
-=================================

package jsonTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;


public class MyJson {

public static void main(String[] args) {

List<Student> list=new ArrayList<>();
Student student=new Student("bob",24);
Student student12=new Student("lily", 23);
list.add(student);
list.add(student12);
System.out.println("*******javaBean  to jsonString*******");
String str1=JSON.toJSONString(student);
System.out.println(str1);
System.out.println(JSON.toJSONString(list));
System.out.println();

System.out.println("******jsonString to javaBean*******");
//Student stu1=JSON.parseObject(str1,new TypeReference<Student>(){});
Student stu1=JSON.parseObject(str1,Student.class);
System.out.println(stu1);
System.out.println();

System.out.println("******javaBean to jsonObject******");
JSONObject jsonObject1=(JSONObject)JSON.toJSON(student);
System.out.println(jsonObject1.getString("name"));
System.out.println();

System.out.println("******jsonObject to javaBean******");
Student student2=JSON.toJavaObject(jsonObject1, Student.class);
System.out.println(student2);
System.out.println();

System.out.println("*******javaBean to jsonArray******");
List<Student> stulist=new ArrayList<>();
for(int i=0;i<5;i++){
stulist.add(new Student("student"+i, i));

}
JSONArray jsonArrays=(JSONArray)JSON.toJSON(stulist);
for(int i=0;i<jsonArrays.size();i++){
System.out.println(jsonArrays.getJSONObject(i));
}
System.out.println();

System.out.println("*****jsonArry to javalist******");
List<Student> myList=new ArrayList<>();
for(int i=0;i<jsonArrays.size();i++){

Student student3=JSON.toJavaObject(jsonArrays.getJSONObject(i), Student.class);
myList.add(student3);
}
for(Student stu:myList){
System.out.println(stu);
}

        System.out.println();

System.out.println("*****jsonObject to jsonString*****");
String str4=JSON.toJSONString(jsonObject1);
System.out.println(str4);
System.out.println();

System.out.println("*******jsonString to jsonObject*****");
JSONObject jso1=JSON.parseObject(str1);
System.out.println(jso1.getString("name"));
System.out.println();

System.out.println("*****jsonString to jsonArray*****");
JSONArray jArray=JSON.parseArray(JSON.toJSONString(stulist));
for(int i=0;i<jArray.size();i++){
System.out.println(jArray.getJSONObject(i));
}
System.out.println();
}

}
————————————————
分享到:
评论

相关推荐

    最新fastJSON C#的JSON开发包 v2.1.18

    **FastJSON for C#:深度解析与应用** FastJSON 是一个高效的 JSON 序列化和反序列化库,尤其在C#开发环境中被广泛应用。它以其轻量级、快速和简单的特点,使得处理...无论是新手还是经验丰富的开发者,都能从中受益。

    fastjson解析json的jar

    《深入理解Fastjson:高效解析JSON的利器》 ...无论是新手还是经验丰富的开发人员,都能在Fastjson的帮助下轻松处理JSON数据,提升开发效率。理解并熟练掌握Fastjson的使用,将对日常的开发工作带来极大的便利。

    fastjson-master.zip

    **Fastjson 深度解析与应用** ...无论是新手还是经验丰富的开发者,都能在使用过程中体会到它的便捷与高效。通过深入了解和熟练掌握 Fastjson,可以提升开发效率,优化项目性能,为项目带来更大的价值。

    gson与fastjson的jar包合集

    首先,我们来看`Gson`。`Gson`是由Google提供的一个开源库,它能够将Java对象直接转换为JSON字符串,反之亦然。其核心类`Gson`提供了一种简单的方式来实现这个转换过程。例如,你可以通过创建`Gson`实例并调用`to...

    Android JSON 解析库的使用

    2. **易用性**:两者都有简洁的API,但Fastjson的API可能对新手来说更为直观。Gson提供了更丰富的功能,如类型适配器、注解等,适合复杂场景。 3. **灵活性**:Gson提供了更高级的功能,如自定义序列化和反序列化,...

    自定义Volley,非常好用,适合新手学习。

    5. **自定义Parser**:Volley默认使用Gson库解析JSON数据,如果项目中使用了其他序列化库,如Jackson或FastJson,你可以自定义Parser来解析服务器响应。 6. **自定义Delivery**:Delivery组件负责将请求的结果传递...

    dwr各种例子(各种数据类型返回值+包+导入可用+注释+附带讲解)

    Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。...无论是对于新手还是有一定经验的开发者,这些都是极好的学习资源。

    json依赖jar包(全)

    在Java中,JSON处理库是必不可少的,特别是当你需要在应用程序之间传递数据时。 这个“json依赖jar包(全)”包含了处理JSON的所有必需组件,确保你的项目能够顺利地进行JSON操作。这些jar包可能包括但不限于以下...

    json相关jar包

    总的来说,"json相关jar包"包含了处理JSON数据所必需的工具,无论你是新手还是经验丰富的开发者,理解并熟练使用这些库对于提升开发效率和优化代码质量都至关重要。在进行Web服务开发、前后端交互或是其他需要数据...

    SpringMVC+Mybatis 脚手架.rar

    这是一个SpringMVC+Mybatis 脚手架,方便平时的开发使用,也可作为新手的学习项目。 依赖 Spring :4.2.1.RELEASE mybatis:3.3.0 mybatis-spring:1.2.3 druid:1.0.15 fastjson:1.2.7 mybatis-generator:1.3.2 ...

    简历面试常见问题_android.rar

    - JSON解析:Gson、Jackson或FastJson的使用。 - 图片加载库: Glide、Picasso等的原理和实践。 5. 性能优化: - 内存优化:内存泄漏检测、对象池化、避免内存抖动。 - 性能分析工具:Systrace、Profile、Trace...

    java常用jar包集合

    8. **JSON处理**:如json-lib.jar,fastjson.jar,提供JSON数据的序列化和反序列化功能,便于与前端交互。 9. **Apache HttpClient**:httpclient.jar,提供了HTTP客户端功能,用于发送HTTP请求和处理响应。 10. *...

    java心得分享技术文章总结.pdf

    - Retrofit2与FastJson的集成 - MVP+Retrofit+RxJava的封装应用 - Android与H5的交互框架 - 三行代码实现TabLayout+ViewPager的Tab滑动效果 - 封装好的ViewPager工具类 - Android MVVM面向接口型框架封装 - ...

    dubbo-2.8.4 jar包

    - **序列化**:包括Java自带的序列化、Hessian、FastJson等多种序列化方式,提高数据传输效率。 - **异步调用**:支持异步调用模式,提高了系统的响应速度和并发处理能力。 3. **性能优化**: - **高性能NIO**:...

    android新浪微博客户端

    这通常涉及JSON解析,Android内置了Gson库,也可以使用第三方库如Jackson或FastJson来解析JSON数据。 在UI设计方面,Android Studio提供了丰富的布局组件,如LinearLayout、RelativeLayout和ConstraintLayout等,...

    dubbo demo

    这个"Dubbo Demo"是一个专门为初学者设计的示例项目,旨在帮助新手快速理解和掌握如何在实际应用中使用 Dubbo。下面将详细介绍 Dubbo 的核心概念、功能以及在这个 demo 中可能涉及的知识点。 1. **服务提供者与消费...

    google-gson-2.2.4

    9. **性能考虑**:虽然Gson是一个强大的库,但在性能关键的场景下,可能需要考虑其他更高效的库,如Jackson或Fastjson。 总之,`google-gson-2.2.4`是一个可靠的JSON处理库,它的易用性和灵活性使得在Java项目中...

    60款Android项目源码资料

    这些Android项目源码资料是极好的学习资源,涵盖了多种技术和设计模式,对于深入理解Android开发、提升编程技能以及拓展实际项目经验大有裨益。...无论是新手还是有经验的开发者,都能从中获益匪浅。

Global site tag (gtag.js) - Google Analytics