java jsonobject 转换_java – 将JSONObject转换为JSONArray

java jsonobject 转换_java – 将JSONObject转换为JSONArray我目前正在学习一些使用JAVA的android编程.我的老师分享了这段代码,它将使用API​​,获取其JSON文件,并将其转换为JSONArray文件.然后,他将遍历该JSONArray并将它们放入ArrayList,然后将它们显示在一个活动上.问题是我正在使用的API会返回一个JSONObject文件,而我不知道如何正确地将其转换为JSONArray.importandroid.util.Lo…

大家好,又见面了,我是你们的朋友全栈君。

我目前正在学习一些使用JAVA的

android编程.我的老师分享了这段代码,它将使用API​​,获取其

JSON文件,并将其转换为

JSONArray文件.然后,他将遍历该JSONArray并将它们放入ArrayList,然后将它们显示在一个活动上.

问题是我正在使用的API会返回一个JSONObject文件,而我不知道如何正确地将其转换为JSONArray.

import android.util.Log;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import java.util.HashMap;

public class JSONParser {

String charset = “UTF-8”;

HttpURLConnection conn;

DataOutputStream wr;

StringBuilder result;

URL urlObj;

JSONArray jObj = null;

StringBuilder sbParams;

String paramsString;

public JSONArray makeHttpRequest(String url, String method) {

sbParams = new StringBuilder();

if(method.equals(“GET”)){

// request method is GET

if (sbParams.length() != 0) {

url += “?” + sbParams.toString();

}

try {

urlObj = new URL(url);

conn = (HttpURLConnection) urlObj.openConnection();

conn.setDoOutput(false);

conn.setRequestMethod(“GET”);

conn.setRequestProperty(“AccountKey”, “pVU56+0hI26DNLeTzlU/Dw==”);

conn.setRequestProperty(“UniqueUserId”, “33c07f2f-b4c0-4151-acd3-e0829b303d2c”);

conn.setRequestProperty(“accept”, “application/json”);

conn.setConnectTimeout(15000);

conn.connect();

} catch (IOException e) {

e.printStackTrace();

}

}

try {

//Receive the response from the server

InputStream in = new BufferedInputStream(conn.getInputStream());

BufferedReader reader = new BufferedReader(new InputStreamReader(in));

result = new StringBuilder();

String line;

while ((line = reader.readLine()) != null) {

result.append(line);

}

Log.d(“JSON Parser”, “result: ” + result.toString());

} catch (IOException e) {

// e.printStackTrace();

}

conn.disconnect();

// try parse the string to a JSON object

try {

jObj = new JSONArray(result.toString());

} catch (JSONException e) {

Log.e(“JSON Parser”, “Error parsing data ” + e.toString());

}

// return JSON Object

return jObj;

}

}

API URL及其自定义标头:

URL: http://datamall2.mytransport.sg/ltaodataservice/TaxiAvailability

包头中

AccountKey: pVU56+0hI26DNLeTzlU/Dw==

UniqueUserId: 33c07f2f-b4c0-4151-acd3-e0829b303d2c

accept: application/json

EDIT2:我使用它来获取带有自定义标头的原始数据.

http://requestmaker.com/

编辑:这是我得到的JSON.

{

“odata.metadata”: “http://datamall2.mytransport.sg/ltaodataservice/$metadata#TaxiAvailability”,

“value”: [

{

“Longitude”: 103.84009,

“Latitude”: 1.35989

},

{

“Longitude”: 103.84679,

“Latitude”: 1.35544

},

{

“Longitude”: 103.76928,

“Latitude”: 1.4419

}

….

]

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript 中根据换行符拆分字符串失败

    JavaScript 中根据换行符拆分字符串失败问题:在使用JavaScript拆分字符串时,使用分隔符\n无效。方法:应使用转义字符处理反斜杠,即使用分隔符\\n。

    2022年5月23日
    125
  • ps去除水印的六种方法_PS去水印方法

    ps去除水印的六种方法_PS去水印方法方法一:使用选框工具勾选水印部分:按住Shift+f5选择内容识别:然后ctrl+d取消选择,水印就去掉了PS:其实这个方法有个快捷办法,直接使用选框工具选中之后,按Delete就可以弹出

    2022年8月2日
    8
  • layui弹出层使用「建议收藏」

    layui弹出层使用「建议收藏」一直在用的一个提示层,现在分享给大家,感谢作者贤心//首先引入js文件<scriptsrc=”./layer.js”></script>常用的//提示层layer.msg(‘玩命提示中’)提示后可以继续操作的,这种会显示和拒绝差不多//提示层layer.msg(‘玩命卖萌中’,function(){//关闭后的操作//l…

    2022年6月9日
    28
  • java基础——java.util.ConcurrentModificationException

    在编写代码的时候,有时候会遇到List里有符合条件的的对象,就移除改对象! 但是这中操作如:使用了 List 的remove,会导致一些很严重的问题!

    2022年2月25日
    42
  • mybatis的拦截器_拦截所有来电怎么设置

    mybatis的拦截器_拦截所有来电怎么设置一、官网介绍MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)拦截执行器的方法; ParameterHandler(ge…

    2022年9月9日
    0
  • 茜在人名可以读xi吗_茜读xi还是qian?

    茜在人名可以读xi吗_茜读xi还是qian?01茜可以读xi,也可以读qian,通常用于外国女子名字译音时多读xī,而qiàn多用于中国名。茜,本义是草名即“茜草”读音为qiàn时,指茜草,在古汉语中也指“深红”。读xī时,多为音译用字,多用于人名。茜汉语常用字,读作qiàn或者xī,最早见于《说文》小篆。本义是指一种草名,即茜草,为多年生草本植物,可作红色染料,后引申为大红色、秀美、生动等。茜草【qiàncǎo】,多年生草本植物,根圆锥…

    2022年6月21日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号