用java,怎么把php数组转换成HashMap或者集合 10

php数组如:array(0=>array('url'=>'abc','alt'=>'123,),1=>array('url'=>'bcd','alt'=>'234',)... php数组如:array (
0 =>
array (
'url' => 'abc',
'alt' => '123,
),
1 =>
array (
'url' => 'bcd',
'alt' => '234',
),
2 =>
array (
'url' => 'cde',
'alt' => '345',
),
)
展开
 我来答
木同生活
2015-08-18 · 技术宅,对待技术十分认真。
木同生活
采纳数:172 获赞数:568

向TA提问 私信TA
展开全部
public class Test
{
public static void main(String[] args)
{
List<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("url", "abc");
map.put("alt","123");
list.add(map);

HashMap<String, Object> map1 = new HashMap<String, Object>();
map1.put("url", "bcd");
map1.put("alt", "234");
list.add(map1);

HashMap<String, Object> map2 = new HashMap<String, Object>();
map2.put("url", "cde");
map2.put("alt", "345");
list.add(map2);
for(HashMap<String, Object> lists : list)
{
System.out.println(lists);
}
}
}
结果:
{alt=123, url=abc}
{alt=234, url=bcd}
{alt=345, url=cde}
行天0809
2018-08-25 · TA获得超过748个赞
知道小有建树答主
回答量:850
采纳率:86%
帮助的人:458万
展开全部
看LZ的描述,似乎是认为可以直接把一个php关联数组拿java中就使用,这样肯定是不行的啊,两种语言都不通用的。为了让两者能互相沟通,就需要一个通用格式的对象,这个对象就是json。两者要互相交换的数据,先转换成json对象传给对方,对方就能识别和使用了。回到问题,如果不这样做,强行传给java端的只能是一段原始的php数组源代码,即普通的string,对java来说,wtf,这是什么鬼?你说这是一个数组?都不符合我的数据结构怎么会是数组呢??硬要把这串string“转换”成HashMap或集合,就只能根据string中的key=>value对应特征进行字符拆分重组,才能得到需要的数据,这个方法LZ又是懂的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我好萌_233
2015-09-06 · 超过28用户采纳过TA的回答
知道答主
回答量:69
采纳率:75%
帮助的人:38.5万
展开全部
先把php的数组通过json形式发送给java服务端.然后再通过json对象的形式吧他转换成为HashMap
php有个函数是json_encode(array);
转换就直接成为了json字符串.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-09
展开全部
1 先把数组转化成json数据
<?php

$str = array (0 =>array ('url' => 'abc','alt' => '123'),
1 =>array ('url' => 'bcd','alt' => '234'),
2 =>array ('url' => 'cde','alt' => '345'));
echo json_encode($str);

?>
结果:[{"url":"abc","alt":"123"},{"url":"bcd","alt":"234"},{"url":"cde","alt":"345"}]
然后再用java解析这个json数据 这个java解析json网上很多 不会解析再问我
更多追问追答
追问
不是 你没懂我的意思啊。。 不是用PHP转换成json,是要用java直接转成json或者转成集合之类的
追答
java直接转php是不行的  两种不同的语言 之间进行操作 一定要有一个桥梁  好吧直接只能这样搞了
public class Test
{
public static void main(String[] args)
{
List> list = new ArrayList>();
HashMap map = new HashMap();
map.put("url", "abc");
map.put("alt","123");
list.add(map);

HashMap map1 = new HashMap();
map1.put("url", "bcd");
map1.put("alt", "234");
list.add(map1);

HashMap map2 = new HashMap();
map2.put("url", "cde");
map2.put("alt", "345");
list.add(map2);
for(HashMap lists : list)
{
System.out.println(lists);
}
}
}
结果:
{alt=123, url=abc}
{alt=234, url=bcd}
{alt=345, url=cde}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式