我是json的新手。我正在尝试从MySQL数据库读取值并将结果编码为json数据。因为我已经编写了以下代码
<?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); ?>
我的输出为
[[],{&#34;名称&#34;:&#34; $名称&#34;&#34;密码&#34;:&#34; $密码&#34;,& #34;电子邮件&#34;:&#34; $电子邮件&#34;&#34;地址&#34;:&#34; $地址&#34;},{&#34;名称&#34;:&# 34;如是&#34;&#34;密码&#34;:&#34; dfsdf&#34;&#34;电子邮件&#34;:&#34; dsfgs&#34;&#34;地址&#34 ;:&#34; ssfsfsdf&#34;},{&#34;名称&#34;:&#34; HMD&#34;&#34;密码&#34;:&#34; 123&#34;,& #34;电子邮件&#34;:&#34; RDF&#34;&#34;地址&#34;:&#34; sfdssf&#34;},{&#34;名称&#34;:&#34; SDFS&#34;&#34;密码&#34;:&#34; sdfsf&#34;&#34;电子邮件&#34;:&#34; sdfsdf&#34;&#34;地址&#34 ;: &#34; SDF&#34;},{&#34;名称&#34;:&#34;如是&#34;&#34;密码&#34;:&#34; sadsa&#34;&#34 ;电子邮件&#34;:&#34; xdfsaf&#34;&#34;地址&#34;:&#34; sdfsdf&#34;}]
当我在在线jsonviewer中查看时,我得到输出为 + JSON
如何在我的Android应用程序中阅读json对象中的详细信息&#39; 0&#39;,#1;#...,... ...
JsonArray jsonarray=new JsonArray(response.tostring);
JsonObject job=jsonarray.getstring("0");
这是获取jsonobject的方法吗? (或)
我怎样才能给员工发电子邮件代替0,1,2,...... 请帮帮我。 如果我在任何地方都错了,请纠正我。 提前致谢
答案 0 :(得分: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..
}
答案 1 :(得分: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对象,无需编码。但是要读取来自Android应用程序的JSON字符串,这将是一种不同的方法
您将执行类似
的操作$data //data from android application
$data = json_decode($data);
$data->field //to access the field/property in this object
希望这能解决您的问题。如果它不是
,请告诉我