如何在Android中使用多个数据创建JSON

时间:2013-10-29 10:58:00

标签: php android json

我要像这样在Android中创建,

"draft":
 [
  { "firstName": "Glen", "lastName": "McGrath" },
  { "firstName": "Steve", "lastName": "Vaugh" }
 ]

如何创建此类型的JSON?我已经通过一些链接但没有得到正确的输出。

到目前为止,我已经尝试过这段代码,

JSONObject newObj = null ;              
                for(int h=0; h<3; h++)
                {
                    newObj = new JSONObject();
                    newObj.put("firstName", "" + h);
                    newObj.put("lastName", "" + h);
                }

                JSONArray postjson = new JSONArray();
                postjson.put(newObj);

但是,在php文件中解码这个json时没有得到任何输出。

下面是我的.php文件解码json,

$json = $_SERVER['HTTP_JSON'];
$json = json_decode($json, true);
mysql_connect("localhost", "root", "") or die(mysql_error()) ; 
mysql_select_db("retail_menu") or die(mysql_error()) ; 
    foreach($json as $value)
    {

        foreach($value as $value1)
        {
            echo $data1 = $value1['firstName'];
            echo $data2 = $value1['lastName'];

            $query = "INSERT INTO `rr_friendid` (friend_id, friend_name) VALUES ('$data1','$data2')";
        var_dump($query);
        mysql_query($query);
    }

}

但是,我在数据库中看不到任何值存储。在创建json或解码时,我不知道我错在哪里。我怎么能像上面提到的那样创建json?

1 个答案:

答案 0 :(得分:0)

您需要的以下json无效:

"draft":
 [
  { "firstName": "Glen", "lastName": "McGrath" },
  { "firstName": "Steve", "lastName": "Vaugh" }
 ]

它应该有一个封闭的钎焊。

{
    "draft": [
        {
            "firstName": "Glen",
            "lastName": "McGrath"
        },
        {
            "firstName": "Steve",
            "lastName": "Vaugh"
        }
    ]
}

要检查有效的json格式,请参阅onlineJsonEditor.