求大神解释:怎么将fastjson数据解析成自定义对象?详情如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求大神解释:怎么将fastjson数据解析成自定义对象?详情如下:相关的知识,希望对你有一定的参考价值。

(原数据也是将自定义对象转为fastjson字符串)TCP协议的服务器端String data1= JSON.toJSONString(gb);out.writeUTF(data1);
收到时用这句:Goods goods=JSON.parseObject(dis.readUTF(),Goods.class);连接没有问题,都能测到字符串长度,但就是卡这里了,构造方法看了也没问题(双方都是相同的类,只有某些数据类型不同(float,double)这似乎没影响)还有什么导致这数据解析不出来的问题么?
Bundle bundle =(Bundle)intent1.getExtras();String uri=bundle.getString("URI");dout.writeUTF(uri);Thread.sleep(2000);
ReadStr(din);
ReadStr方法里的内容
dis是方法的参数Goods goods=JSON.parseObject(dis.readUTF(),Goods.class);
EventBus.getDefault().post(goods);

参考技术A Goods类是否全部都加上了get set方法追问

当然,编辑器有加get/set的功能,全部都勾上了,

追答

出错信息是什么,还是说卡死?再贴下完整代码吧,dis是啥?

追问

没出错信息,线程到这就停了,dis是输入流实例,

追答

请把.readUTF()去掉,只写dis即可

追问

parseObject方法第一个参数只能是String,不是输入流实例,所以要用.readUTF(),不然直接报错,TCP需要控制编码格式么(GBK,UTF-8,我知道用HTTP协议通信需要控制,不然就乱码)?如果需要的话要怎么做?

追答

初步判断是readUTF阻塞了,和json解析没关系,你可以先read成string再操作,设个断点看看,参考下这个 http://blog.csdn.net/fw0124/article/details/41227543 。而且parseObject是有输入流的方式调用的,参数类型不一样罢了,你可以看下源码

本回答被提问者和网友采纳
参考技术B

追问

这样是不行的么?Goods goods=JSON.parseObject(dis.readUTF(),Goods.class);服务器传来的就是一个goods对象

以上是关于求大神解释:怎么将fastjson数据解析成自定义对象?详情如下:的主要内容,如果未能解决你的问题,请参考以下文章

求大神解释解释MVC与SpringMVC是啥,

这个方法没看懂,求大神解释!

fastjson怎么解析像“

fastjson怎么解析像“

js,求大神指导 怎么删除数组型json里不符合条件的元素

python中这个算法该怎么解释?求大神支招。