【发布时间】:2011-06-11 16:34:12
【问题描述】:
我创建了一个必须使用 JSON 与我的网站通信的 Android 应用。 JSON(在客户端,Android 端)如下所示:
private static String JSONSend(Context ctx, JSONObject obj, String ObjName, String address) {
IHttpDispatcher disp = new HttpDispatcher();
Vector<String> ss = new Vector<String>();
String link = address;
String locale = uzmiLocale(ctx);
if(locale=="")
return "";
try {
obj.put("Lokal", locale);
ss.add(ObjName + obj.toString());
String ID = disp.getHttpResponse_POST(link, ss);
return ID;
} catch (Exception e) {
return "";
}
}
上面的方法是从这里调用的:
public static String sendReq(Context ctx, String txt, String number) {
JSONObject jsn = new JSONObject();
try {
jsn.put("TextPoruke", txt);
jsn.put("BrTel", number);
return JSONSend(ctx, jsn, "JSNSend=", "www.mysite.com");
} catch (JSONException e1) {
return "";
}
}
在我的 Wamp 服务器上一切正常,但是在将我的 php 代码移动到网络服务器后,噩梦开始了!显然,一切都以应有的方式发送,但在服务器端,此 php 代码正在产生问题:
if(isset ($_POST['JSNSend']))
{
$argument = $_POST['JSNSend'];
$json = json_decode($argument,true);
$broj = $json['BrTel'];
$jsnLocale = $json['Lokal'];
似乎“json_decode”的结果是NULL,但是$argument等于
{"\TextPoruke\": \"sometext\", \"BrTel\":\"111\"}
所以传递的 JSON 字符串似乎没问题,但由于某种原因,它无法在网络服务器上解码。谁能帮我这个?为什么它不起作用?
【问题讨论】: