2015-08-28 2 views
0

Я новичок в json.I пытается прочитать значения из базы данных MySQL и кодирование результата JSon data.for, что я написал следующего кодированиекак читать JSON объекта из 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"}, { "название": "Rushi", "пароль": "dfsdf", "электронная почта": "dsfgs", "адрес": "ssfsfsdf"}, { "имя": "ГМД", "пароль": "123", "электронная почта": "РДФ", "адрес": "sfdssf"}, { "имя": "SDFS", "пароль": "sdfsf", "электронная почта": "sdfsdf", "адрес": "SDF"} , { "имя": "Rushi", "пароль": "sadsa", "электронная почта": "xdfsaf", "адр ESS ":" sdfsdf "}]

, когда я смотреть это в онлайн jsonviewer я получить выход в + JSON

  • +0
  • +1
  • +2
  • +3
  • +4
  • +5
  • как я могу прочитать детали внутри объекта JSON для '0', '1', ... в моем приложении для андроид

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

    это способ получить jsonobject? (или)

    Как я могу дать электронное письмо работнику вместо 0,1,2, ... , пожалуйста, помогите мне. если я ошибаюсь, пожалуйста, исправьте меня. Заранее спасибо

    +0

    Избегайте устаревших 'mysql_', user' mysqli' или 'PDO'. –

    +0

    Вы можете получить этот выход json на своем устройстве Android? –

    ответ

    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 строку, поступающую от вашего андроид приложения, которое будет другой подходом

    Вы будете делать что-то вроде

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

    Надеется, что это решает проблему. Дайте мне знать, если это не так.

    Смежные вопросы