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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python进阶(25)协程「建议收藏」

    python进阶(25)协程「建议收藏」协程的定义协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)作用:在执行A函数的时候,可以随时中断,去执行B函数,然后中断B函数,继续执行A函数(可以自动

    2022年8月7日
    6
  • Git 常用指令使用说明「建议收藏」

    Git 常用指令使用说明「建议收藏」Git作为一个版本控制工具的后起之秀,目前已经呈现替代SVN的趋势,如果你现在还在使用SVN等版本控制工具,那说明你已经OUT了!Git 是Linux内核的发明人 大名鼎鼎的Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源码版本控制工具。1.Git基本概念介绍     1.1.本地库和远程库           本地库(如用户电脑端的Git库)中有本地分支(dev/

    2022年6月17日
    31
  • python NameError: name ‘raw_input’ is not defined

    python NameError: name ‘raw_input’ is not defined

    2021年10月21日
    48
  • centos7 配置lamp 环境[通俗易懂]

    centos7 配置lamp 环境[通俗易懂]搭建版本版本组合php5.6+apache/2.4.6(centos7)+mysql5.7.24因为新系统不能确认哪些指令已经搭建所以安装前需要确认下是否拥有检测是否已经安装过Vimrpm-qa|grepvim显示出完整的包名:vim-common,vim-enhanced,vim-minimal,vim-filesystem表示安装成功若是缺少Vim包名:则使用命令:比如说:vim-enhanced这个包少了,执行:yum-yinstallvim-enha..

    2022年5月29日
    40
  • NSGA2算法中文版详细介绍

    NSGA2算法中文版详细介绍NSGA2主要是对NSGA算法的改进。NSGA是N.Srinivas和K.Deb在1995年发表的一篇名为《Multiobjectivefunctionoptimizationusingnondominatedsortinggeneticalgorithms》的论文中提出的。该算法在快速找到Pareto前沿和保持种群多样性方面都有很好的效果,不过在这么多年的应用中也出现了如下的

    2022年5月19日
    48
  • 手把手教你Tomcat配置环境变量以及验证方法

    手把手教你Tomcat配置环境变量以及验证方法场景现在要将Tomcat配置进环境变量。实现以win7为例,找到桌面计算机图表,右键属性。或者打开计算机,找到系统属性。然后找到高级系统设置找到环境变量点击系统变量下的新建找到Tomcat所在目录变量名为:CATALINA_BASE内容为Tomcat所在路径,这里是上面的路径如图:点击确定同理再新建系统变量,变量名…

    2022年6月4日
    34

发表回复

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

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