【问题标题】:Sending string arrays to php将字符串数组发送到 php
【发布时间】:2014-04-06 15:30:00
【问题描述】:

我想通过 Json 将字符串数组发送到 php 并在那里检索。

String[] Books = {"book1", "book2", "book3", "book4",..};

在 Json 中:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>;
nameValuePairs.add(new BasicNameValuePair("books", Books));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
...

在php端:

$books = $_POST['books'];
$result = json_decode($books);    // is this OK?

或者我可以像下面这样使用它吗?

$book1 = $result[0];

【问题讨论】:

  • 如果您将数据作为 Json 发送,那么您需要 json_decode() 但对于没有任何 json 格式的行数据,发布数据将采用数组形式。
  • 我通过 json 发送。问题是我不确定这种方法是否正确。是$result 还是数组。 nameValuePairs.add(new BasicNameValuePair("books", Books)); 是发送字符串数组的好方法还是我应该在这里使用nameValuePairs.add(new BasicNameValuePair("books", Books[]));

标签: php android arrays json android-json


【解决方案1】:
$jsonString = '["xxx@gmail.com","yy@gmail.com","rr@gmail.com"]';
$arrayOfYourEmails=json_decode($jsonString);

或者

$jsonString = "[\"xxx@gmail.com\",\"yy@gmail.com\",\"rr@gmail.com\"]";
$arrayOfYourEmails=json_decode($jsonString);

是的,你的这段代码是正确的

$books = $_POST['books'];
$result = json_decode($books); 

【讨论】:

  • $arrayOfYourEmails=json_decode($jsonString); 中,您正在解码静态$jsonString。但我需要解码String[] Books = ["book1", "book2", "book3", "book4",...]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多