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


相关推荐

  • 计算机网络 | 思科网络 | ACL通配符掩码「建议收藏」

    计算机网络 | 思科网络 | ACL通配符掩码「建议收藏」目录一.什么是通配符掩码二.使用通配符掩码三.通配符掩码示例1.使用通配符掩码匹配IPv4子网2.使用通配符掩码匹配网络范围四.计算通配符掩码1.通配符掩码计算:示例12.通配符掩码计算:示例23.通配符掩码计算:示例3五.通配符掩码关键字1.示例1:匹配单个IPv4地址的通配符掩码过程2.示例2:匹配所有IPv4地址的通配符掩码过程一.什么是通配符掩码通配符掩码是由32个二进制数字组成的字符串,路由器使用它来确定检查地址的

    2022年7月24日
    9
  • 大数据–商品推荐系统介绍(上)

    这次我们介绍商品推荐系统:推荐系统是什么推荐引擎的分类常见的推荐算法混合的推荐机制(重要)推荐系统架构协同过滤的实现推荐引擎解决的几个问题主动的用户,通过类目和搜索进行引导,对结果页进行干预被动的用户,通过用户的历史行为分析,推荐用户可能感兴趣的商品。对商家来讲,帮助商家卖出更多的东西推荐系统是什么目的为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品…

    2022年4月3日
    36
  • mybatiscodehelperpro2.9.3激活码【最新永久激活】「建议收藏」

    (mybatiscodehelperpro2.9.3激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月25日
    376
  • VBS整人代码(一串代码让全班同学说卧槽)

    一、做我女朋友吗,告白(抖音里很火的)无危害msgbox(“做我女朋友可以吗?”)msgbox(“房产证上写你名”)msgbox(“保大”)msgbox(“我妈会游泳”)m=MsgBox(“做我女朋友好吗?”,vbOKCancel)Ifm=vbOKThenMsgbox(“爱你么么哒”)Ifm=vbCancelThenMsgBox”不喜欢你了”,vbCrit…

    2022年4月9日
    4.7K
  • 善待自己 改变命运的N个人生哲理[通俗易懂]

    善待自己 改变命运的N个人生哲理[通俗易懂]善待自己改变命运的N个人生哲理

    2022年5月27日
    29
  • 箭头函数与普通函数的区别详解[通俗易懂]

    箭头函数与普通函数的区别详解[通俗易懂]箭头函数和普通函数的区别一.外形不同:箭头函数使用箭头定义,普通函数中没有代码实例如下://普通函数functionfunc(){//code}//箭头函数letfunc=()=>{//code}二.箭头函数都是匿名函数普通函数可以有匿名函数,也可以有具体名函数,但是箭头函数都是匿名函数。代码实例如下://具名函数functionfunc(){//code}//匿名函数letfunc=function(){//cod

    2022年6月26日
    24

发表回复

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

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