【问题标题】:Android ArrayList<String[]> to PHPAndroid ArrayList<String[]> 到 PHP
【发布时间】:2012-05-13 01:46:45
【问题描述】:

我需要我的应用程序向 php 发送ArrayList&lt;String[]&gt;,我有这个来调用服务:

ArrayList<String[]> Items = new ArrayList<String[]>();
(...)
JSONObject JSONSend= new JSONObject();
JSONSend.put("Items", Items );

HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
HttpResponse response;
HttpPost post = new HttpPost(SERVICE);
post.setHeader("json", JSONSend.toString());
StringEntity se = new StringEntity(JSONSend.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
post.setEntity(se);
response = client.execute(post);

在 PHP 服务上:

$data = file_get_contents('php://input');
$json = json_decode($data);
$Items = $json->{'Items'};
error_log($Items);

而 php 正在返回这个:

[[Ljava.lang.String;@413e2fd0, [Ljava.lang.String;@413a2940, [Ljava.lang.String;@4139df18, [Ljava.lang.String;@4141b5b0, [Ljava.lang.String;@413931c8, [Ljava.lang.String;@41348b40, [Ljava.lang.String;@41393928]

$ServMade 的类型是字符串,那么如何在 php 中将数据作为数组处理呢?我错过了什么吗?

【问题讨论】:

    标签: java php android json


    【解决方案1】:

    在android中生成json字符串的时候尝试如下:

    JSONObject JSONSend= new JSONObject();
    JSONArray ja = null;
    JSONArray tmp = new JSONArray();
    for(String s[] : Items){
        ja = new JSONArray();
        for(int i = 0; i<s.length; i++)
            ja.put(s[i]);
        tmp.put(ja);
    }
    JSONSend.put("Items", tmp);
    

    【讨论】:

    • 我使用了“JSONSend.put("Items", tmp));"相反,它正在按我的意愿工作,谢谢
    【解决方案2】:

    这里的问题是,您在字符串数组 (String[]) 上调用 .toString()(在 Java 中),虽然没有被覆盖,但返回的正是您在 JSON 中得到的内容:[Ljava.lang.String;@413e2fd0 ].

    不确切知道 JSONObject,但我想您应该将 ArrayList&lt;String[]&gt;(即字符串数组的数组)转换为不同的东西,以便 JSONObject 正确处理它。

    另外,在 PHP 中,您不必调用 $Items = $json-&gt;{'Items'}; - 可以调用 $Items = $json-&gt;Items;

    【讨论】:

    • @oneilse14 他直接没有,但我猜 JSONObject::put 有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2013-07-29
    • 2014-07-31
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多