2015-08-28 19 views
0

讀取JSON對象,我是新手,json.I想讀從MySQL數據庫值和結果編碼爲JSON data.for以下編碼如何從PHP

<?php 
$conn=mysql_connect('localhost','root',''); 
$mydb=mysql_select_db("json",$conn) or die('failed'); 
$result=mysql_query("select * from register",$conn); 
$rowsarray[]=array(); 
$rowsarra[]=null; 
while($rows=mysql_fetch_assoc($result)){ 
$rowsarray[]=$rows;} 
echo json_encode($rowsarray); ?> 

我得到我寫輸出爲

[[],{「name」:「$ name」,「password」:「$ password」,「email」:「$ email」,「address」:「$ address」},{ 「名」: 「如是」, 「密碼」: 「dfsdf」, 「電子郵件」: 「dsfgs」, 「地址」: 「ssfsfsdf」},{ 「名」: 「HMD」, 「密碼」: 「123」, 「電子郵件」: 「RDF」, 「地址」: 「sfdssf」},{ 「名」: 「SDFS」, 「密碼」: 「sdfsf」, 「電子郵件」: 「sdfsdf」, 「地址」: 「自衛隊」} { 「名」: 「如是」, 「密碼」: 「sadsa」, 「電子郵件」: 「xdfsaf」,「地址ESS 「:」 sdfsdf「}]

,當我在網上jsonviewer查看此我得到的輸出 + JSON

  • + 0
  • +1
  • +2
  • +3
  • 我怎樣才能讀取 '0' JSON對象內部的細節, '1', ...在我的Android應用程序

    JsonArray jsonarray=new JsonArray(response.tostring); 
    JsonObject job=jsonarray.getstring("0"); 
    

    是這種方式來獲取jsonobject? (或)

    我怎麼給員工的電子郵件代替0,1,2,... 請幫助我。 如果我錯了任何地方,請糾正我。 在此先感謝

    +0

    避免不推薦使用'mysql_',用戶'mysqli'或'PDO'。 –

    +0

    你能夠在android設備上接收到這個json輸出嗎? –

    回答

    0

    使用jsonlint可以清楚地瞭解格式。將結果複製並粘貼到jsonlint中,然後像這樣驗證它。

    [ 
    [], 
    { 
        "name": "$name", 
        "password": "$password", 
        "email": "$email", 
        "address": "$address" 
    }, 
    { 
        "name": "rushi", 
        "password": "dfsdf", 
        "email": "dsfgs", 
        "address": "ssfsfsdf" 
    }, 
    { 
        "name": "hmd", 
        "password": "123", 
        "email": "rdf", 
        "address": "sfdssf" 
    }, 
    { 
        "name": "sdfs", 
        "password": "sdfsf", 
        "email": "sdfsdf", 
        "address": "sdf" 
    }, 
    { 
        "name": "rushi", 
        "password": "sadsa", 
        "email": "xdfsaf", 
        "address": "sdfsdf" 
    } 
    ] 
    

    從這個數據結果,你只需寫下面的代碼。

    JSONArray resultArray = new JSONArray(your result); 
    int length = resultArray.length(); 
    for (int i = 0; i < length; i++) { 
        JSONObject jsonItems = jsonFaovourites.getJSONObject(i); 
        String name = jsonItems.getString("name"); 
        String email= jsonItems.getString("email"); 
        //password etc.. 
    } 
    
    0

    你應該試試這個,

    <?php 
    header("Access-Control-Allow-Origin: *"); 
    header("Content-Type: application/json; charset=UTF-8"); 
    
    $conn = new mysqli("localhost", "root", "myPassword", "json"); 
    
    
    $result = $conn->query("SELECT * FROM register"); 
    
    $outp = ""; 
    while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
        if ($outp != "") {$outp .= ",";} 
        $outp .= '{"field1":"' . $rs["field1"] . '",'; 
        $outp .= '"field2":"' . $rs["field2"]  . '",'; 
        $outp .= '"fieldx":"'. $rs["fieldx"]  . '"}'; 
    
        //fieldx where x is the next column/filed if any and filed the name of the column the exact way it is on the database 
    } 
    $outp ='{"records":['.$outp.']}'; 
    $conn->close(); 
    
    echo($outp); 
    
    //Note this returns json to the browser so no need to json_encode 
    ?> 
    

    現在,您可以看這是一個正常的JSON對象,無需編碼。但是讀取JSON字符串從你的Android應用程序即將到來,這將是一種不同的方法

    你會做這樣的事情

    $data //data from android application 
    
    $data = json_decode($data); 
    
    $data->field //to access the field/property in this object 
    

    希望這能解決你的問題。讓我知道如果它不是