首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从php读取json对象

问如何从php读取json对象
EN

Stack Overflow用户
提问于 2015-08-28 12:18:33
回答 2查看 76关注 0票数 0

我是json的新手,我正在尝试从MySQL数据库中读取值,并将结果编码到json data.for,我编写了以下代码

代码语言:javascript
复制
<?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”,“密码”:“$password”,“电子邮件”:“$email”,“地址”:“$address”},{“名称”:“rushi”,“密码”:“dfsdf”,“电子邮件”:“dsfgs”,“地址”:“ssfsfsdf”},{“名称”:“hmd”,“密码”:“123”,“电子邮件”:“rdf”,“地址”:“sfdssf”},{“名称”:“sdfs”,“密码”:“sdfsf”、“电子邮件”:“sdfsdf”、“地址”:“sdf”}、{“名称”:“rushi”、“密码”:“sadsa”、"email":"xdfsaf“、”地址“:”sdfsdf“}]

当我在在线查看器中看到这一点时,我得到的输出为+JSON

  • +0
  • +1
  • +2
  • +3
  • +4
  • +5

​

如何读取json对象中“0”、“1”、.的详细信息在我的android应用程序中

代码语言:javascript
复制
JsonArray jsonarray=new JsonArray(response.tostring);
JsonObject job=jsonarray.getstring("0");

这就是获取this对象的方法吗?(或)

我如何给员工发电子邮件代替0,1,2,.请帮帮我。如果我哪里错了,请纠正我。提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-08-28 12:36:57

使用杰森林特对格式有清晰的理解。复制并粘贴jsonlint中的结果,然后像下面这样验证它。

代码语言:javascript
复制
[
[],
{
    "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"
}
]

根据数据的结果,您只需编写以下代码。

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2015-08-28 13:04:12

你应该试试这个,

代码语言:javascript
复制
<?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对象,不需要进行编码。但是要读取来自android应用程序的JSON字符串,这将是另一种方法

你会做一些类似的事情

代码语言:javascript
复制
$data //data from android application 

$data = json_decode($data);

$data->field //to access the field/property in this object

希望这能解决你的问题。如果没有,请告诉我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32270925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档