java,特殊类型json字符串转换成对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,特殊类型json字符串转换成对象相关的知识,希望对你有一定的参考价值。

String test="xxx": "A": "AFASGSG", "B": 1;

其中A和B是固定值,"xxx"是任意值,
比如String test="tsr": "A": "AFASGSG", "B": 1;
String test="tdhghg": "A": "yyrtysefsf", "B": 2;
实现:
求大神帮忙解析成java对象
public class T
private String A;
private int B;

public String getMessage()
return A;


public void setMessage(String A)
this.A = A;


public int getCode()
return B;


public void setCode(int B)
this.B = B;


然后直接能获取到A和B的值
补充下
还得先判断test是否是特殊json字符串,是的情况下才去转成对象

跪求大神帮忙写下

JSON与java互转的开源库有很多

Gson XStream JSONObject 等都是轻松实现实现对象与JSON字符串互转的

你这个需求很简单

以下就是代码,注意要引用一个JSONObject的jar包

String json = "\\"tdhghg\\": \\"A\\":\\"yyrtysefsf\\",\\"B\\":2";
JSONObject jsonObj = new JSONObject(json);
Iterator<String> iterator = jsonObj.keys();
while(iterator.hasNext())
    String key = iterator.next();
    JSONObject obj = jsonObj.getJSONObject(key);
    System.out.println(obj.getString("A"));//这里就是得到A的值
    System.out.println(obj.getString("B"));//这里就是得到B的值


追问

谢谢哈 可以了 还有个问题请教下 因为字符串json还可能是其它东西,任意字符串

怎么样加个判断是特殊json字符串的时候才去解析呢

追答

你要的json怎么样才算特殊呢?

追问

是任意的 “xxxx”//没办法哈 实际应用中json 是个(Exception e,e.getMessage())
是异常e.getMessage()的值,可能返回的是个JSON数据,也有可能是个异常信息

追答

那简单,如果JSONObject jsonObj = new JSONObject(json); 这个不是json的话,会报错

参考技术A 首先 xxx 需要写入这个类么。 第二 什么叫“特殊” json?

以上是关于java,特殊类型json字符串转换成对象的主要内容,如果未能解决你的问题,请参考以下文章

php如何将json对象转字符串

string 转换成json

java中json对象有没有方法可以把null值转换成空字符串

java中json对象有没有方法可以把null值转换成空字符串

java中把json怎么转换成数组?

json字符串转换成Java对象字段丢失 求大神?