Android getString(";Value";)从JSON字符串中不返回任何内容
我的JSON数据如下所示:Android getString(";Value";)从JSON字符串中不返回任何内容,android,json,Android,Json,我的JSON数据如下所示: [ { "$id": "1", "Blocks": [ { "$id": "2", "Thing": { "$ref": "1" }, "Id": 70020, "Index": 6, "PreviousHash": "12BF3BAA7E8B4055D0FD7070FB53B217EE2F427E52B7BBE8F743
[
{
"$id": "1",
"Blocks": [
{
"$id": "2",
"Thing": {
"$ref": "1"
},
"Id": 70020,
"Index": 6,
"PreviousHash": "12BF3BAA7E8B4055D0FD7070FB53B217EE2F427E52B7BBE8F7434194E1C04B",
"Timestamp": "2018-03-30T17:13:41.99",
"Hash": "676F1147C73964A1125F374EE9DA58469B25C67F1A70C8DCBC2B8B7695E7416",
"Status": "Valid",
"ThingId": 6021
}
],
"Id": 6021,
"Created": "2018-01-01T00:00:00",
"Issuer": "Islamic University",
"Program": "Elecrical Eng",
"DateAwarded": "2000-01-01T00:00:00",
"CGPA": 4,
"Name": "Danish.S",
"CNIC": "777777",
"LinkedIn": "ffff",
"LastAction": "record",
"QRCode": "3YCA8J33ZY"
}
]
StringRequest stringRequest = new StringRequest(Request.Method.GET, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject serverResp = new JSONObject(response.toString());
String auth = serverResp.optString("Status");
txtResult.setText(auth);
} catch (JSONException e) {
e.printStackTrace();
}}}
我的代码如下所示:
[
{
"$id": "1",
"Blocks": [
{
"$id": "2",
"Thing": {
"$ref": "1"
},
"Id": 70020,
"Index": 6,
"PreviousHash": "12BF3BAA7E8B4055D0FD7070FB53B217EE2F427E52B7BBE8F7434194E1C04B",
"Timestamp": "2018-03-30T17:13:41.99",
"Hash": "676F1147C73964A1125F374EE9DA58469B25C67F1A70C8DCBC2B8B7695E7416",
"Status": "Valid",
"ThingId": 6021
}
],
"Id": 6021,
"Created": "2018-01-01T00:00:00",
"Issuer": "Islamic University",
"Program": "Elecrical Eng",
"DateAwarded": "2000-01-01T00:00:00",
"CGPA": 4,
"Name": "Danish.S",
"CNIC": "777777",
"LinkedIn": "ffff",
"LastAction": "record",
"QRCode": "3YCA8J33ZY"
}
]
StringRequest stringRequest = new StringRequest(Request.Method.GET, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject serverResp = new JSONObject(response.toString());
String auth = serverResp.optString("Status");
txtResult.setText(auth);
} catch (JSONException e) {
e.printStackTrace();
}}}
StringRequest StringRequest=新的StringRequest(Request.Method.GET,uri,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject serverResp=新的JSONObject(response.toString());
字符串auth=serverResp.optString(“状态”);
txtreult.setText(auth);
}捕获(JSONException e){
e、 printStackTrace();
}}}
调用API时,我的JSON数据非常有魅力,但是getString()
不返回任何内容。还尝试了optString()
编辑:我尝试获取一个数组,但它确实令人困惑。在这里,您的响应以数组开始。因此,首先需要从响应中获取一个数组
JSONArray jsonArray = new JSONArray(response);
JsonArray blockArray = getJSONObject(i).getString("Blocks");
String status = blockArray.get(0).getString("Status");
在代码的第二行获取错误的可能重复。什么是
JsonArray
我是否需要i
的循环,以及为什么JsonArray
没有在任何地方使用