Java 如何从string中获取某些特定的值

Java 如何从string中获取某些特定的值,第1张

这个是json字符串,可以使用fastjson,将这个字符串转换成jsonobject对象,该对象是MAP接口的一个实现,可以用objget(key)的方式获取该对象中key对应的值。

@JSONField

作用:在字段和方法上

1 Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到属性上

2 作用在setter和getter方法上

3 format :用在Date类型的字段来格式化时间格式

4 布尔类型:serialize和deserialize

在序列化的时候就不包含这个字段了。deserialize与之相反。但是有一点需要注意,当字段为final的时候注解放在字段上是不起作用的,这时候应该放在get或set方法上。

5 serialzeFeatures 属性:fastjson默认的序列化规则是当字段的值为null的时候,是不会序列化这个字段

对象序列化下边的类,结果是:{"name":"LiSi","age":18}

6 SerializerFeature枚举

当value的值为null的时候,依然会把它的值序列化出来: {"name":"LiSi","age":18,"address":null}

当字段类型为int类型时,会序列化成 0,需要把类型改成Integer

1 引入jar包

2 jsonProperty介绍

@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(value="name")。

3 jackson的@JsonIgnore使用

作用:在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。

参考如下内容:

package junittest;

import javautilArrayList;

import javautilHashMap;

import javautilList;

import javautilMap;

import comalibabafastjsonJSON;

import comalibabafastjsonTypeReference;

/

这里将json的转化和解析都放在一起了,大家可以根据实际需要来转化json字符串和解析json字符串

/

public class TestFastJson {

static class Person{

private String id ;

private String name;

private int age ;

public Person(){

}

public Person(String id,String name,int age){

thisid=id;

thisname=name;

thisage=age;

}

public String getId() {

return id;

}

public void setId(String id) {

thisid = id;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

thisage = age;

}

@Override

public String toString() {

return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";

}

}

public static void main(String[] args) {

method1();

method2();

method3();

method4();

}

static void method1(){

Systemoutprintln("javabean转化示例开始----------");

Person person = new Person("1","fastjson",1);

//这里将javabean转化成json字符串

String jsonString = JSONtoJSONString(person);

Systemoutprintln(jsonString);

//这里将json字符串转化成javabean对象,

person =JSONparseObject(jsonString,Personclass);

Systemoutprintln(persontoString());

Systemoutprintln("javabean转化示例结束----------");

}

static void method2(){

Systemoutprintln("List<javabean>转化示例开始----------");

Person person1 = new Person("1","fastjson1",1);

Person person2 = new Person("2","fastjson2",2);

List<Person> persons = new ArrayList<Person>();

personsadd(person1);

personsadd(person2);

String jsonString = JSONtoJSONString(persons);

Systemoutprintln("json字符串:"+jsonString);

//解析json字符串

List<Person> persons2 = JSONparseArray(jsonString,Personclass);

//输出解析后的person对象,也可以通过调试模式查看persons2的结构

Systemoutprintln("person1对象:"+persons2get(0)toString());

Systemoutprintln("person2对象:"+persons2get(1)toString());

Systemoutprintln("List<javabean>转化示例结束----------");

}

static void method3(){

Systemoutprintln("List<String>转化示例开始----------");

List<String> list = new ArrayList<String>();

listadd("fastjson1");

listadd("fastjson2");

listadd("fastjson3");

String jsonString = JSONtoJSONString(list);

Systemoutprintln("json字符串:"+jsonString);

//解析json字符串

List<String> list2 = JSONparseObject(jsonString,new TypeReference<List<String>>(){});

Systemoutprintln(list2get(0)+"::"+list2get(1)+"::"+list2get(2));

Systemoutprintln("List<String>转化示例结束----------");

}

static void method4(){

Systemoutprintln(" List<Map<String,Object>>转化示例开始 ----------");

Map<String,Object> map = new HashMap<String,Object>();

mapput("key1", "value1");

mapput("key2", "value2");

Map<String,Object> map2 = new HashMap<String,Object>();

map2put("key1", 1);

map2put("key2", 2);

List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();

listadd(map);

listadd(map2);

String jsonString = JSONtoJSONString(list);

Systemoutprintln("json字符串:"+jsonString);

//解析json字符串

List<Map<String,Object>> list2 = JSONparseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});

Systemoutprintln("map的key1值"+list2get(0)get("key1"));

Systemoutprintln("map的key2值"+list2get(0)get("key2"));

Systemoutprintln("ma2p的key1值"+list2get(1)get("key1"));

Systemoutprintln("map2的key2值"+list2get(1)get("key2"));

}

}

以上就是关于Java 如何从string中获取某些特定的值全部的内容,包括:Java 如何从string中获取某些特定的值、fastJson的@JSONField和jackson的@JsonProperty使用、如何在Android Studio 中使用fastjson等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9493259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存