Java的Map中value为一个json数据,将map序列化多了转义及在某一方法中return多个值问题

本文介绍了在Java中如何处理返回多个值的问题,通过将结果存储在Map中并序列化。同时解决了返回的JSON数据被转义的困扰,通过调用Map的toString方法避免了转义。此外,还分享了在MyEclipse中创建Java工程,导入外部jar包以及运行Java应用的步骤。
摘要由CSDN通过智能技术生成

感谢素的帮助和指导才解决这个问题
一、首先我想在某一方法中return多个值
情景:将一个方法中多次post的结果都返回,后来我想到的是将每一次的请求的结果(Json数据类似下面的例子)放在一个Map里面,然后将这个Map再序列化,然后返回序列化结果就OK了。
然后就导致了,返回的结果是这样的:(被转义了(ps:这不是我想要的那种结果))
这里写图片描述

所以就有了下面的话题:
ps:附如何建一个Java工程,及运行(主要是用于测试的,我实际项目是javaWeb项目)

二、解决返回值被转义问题
之前有过一篇介绍C#使用字典如何拼接并反序列化的将Json数据(带数组)的数据进行拼接
这里用Java实现。
这里写图片描述
还是拼接成这样的数据,然后打打印出来
发现被转义了;找原因
最后发现这个没有将map数据toString
这里写图片描述
将其toString以后就不会被转义了
这里写图片描述
将这两个map和map.toString()打印出来发现信息是一样的(是不是很神奇)
我先将Map对象直接打印和map.toString打印结果也是一样的 没明白为什么会这样
这里写图片描述

问:
java里面直接打印对象是可以出现对象的字符串的值,但是C#却是对象地址
答:因为Java里面的HashMap重写了toString方法
见下图:

这里写图片描述

问:
那map1只有在map1.toString()之后才会拼接成key=value格式字符串才对,为啥打印map1也是出来key=value格式字符串
答:
toString这个方法是自动执行的
也就是你有没有调toString他都会自己调
问:
我自己在这个类中重写一个toString(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值