在某个时候开发应用程序时,您需要与Web服务进行通信以进行数据交换。如果您的通信使用JOSN(JavaScript Object Notation)进行数据传输,您可能会开始找到可用于JSON的最简单的库,但是JAVA的JSON库有很多库。
我发现适合我需要的那个是:
JSON-java许可证:MIT
作者:Sean Leary
在本文中,我将分享如何在Android中使用JSON-Java解析JSON,但该片段不仅限于Android。
入门
-
从https://github.com/stleary/JSON-java下载该库。
从github下载源代码为ZIP。 - 从zip中提取文件。
- 打开Android-Studio。
-
右键单击Java文件夹,导航到New-> Package。
-
选择目标目录为main \ java,单击“ 确定”按钮。
-
输入包名称为org.json ,然后单击“ 确定”按钮。
-
现在从源文件夹复制所有JSON-java .java并将它们复制到Android-Studio org.json包。
- 构建Android项目以确保一切正常。
- 现在您已准备好在项目中使用JSON库。
例子:
从以下JSON文本解析速率。
隐藏 收缩
复制代码

{
"base":"USD",
"date":"2017-07-04",
"rates":{
"AUD":1.3144,
"BGN":1.7227,
"BRL":3.3034,
"CAD":1.2975,
"CHF":0.96486,
"CNY":6.8017,
"CZK":23.018,
"DKK":6.5504,
"GBP":0.77341,
"HKD":7.8082,
"HRK":6.5326,
"HUF":271.56,
"IDR":13366.0,
"ILS":3.516,
"INR":64.738,
"JPY":113.25,
"KRW":1151.8,
"MXN":18.212,
"MYR":4.2975,
"NOK":8.3546,
"NZD":1.3736,
"PHP":50.509,
"PLN":3.737,
"RON":4.0416,
"RUB":59.315,
"SEK":8.5207,
"SGD":1.383,
"THB":34.015,
"TRY":3.5565,
"ZAR":13.228,
"EUR":0.88082
}
}
用于迭代所有速率的Java代码。
隐藏 复制代码
String jsonText = "{\"base\":\"USD\",\"date\":\"2017-02-17\",\"rates\":
{\"AUD\":1.3044,\"BGN\":1.8364,\"BRL\":3.0918,\"CAD\":1.3079,
\"CHF\":0.99878,\"CNY\":6.867,\"CZK\":25.372,\"DKK\":6.9797,\
"GBP\":0.80488,\"HKD\":7.7614,\"HRK\":6.9869,\"HUF\":289.5,\
"IDR\":13332.0,\"ILS\":3.7061,\"INR\":67.1,\"JPY\":112.75,\"KRW\
":1150.0,\"MXN\":20.474,\"MYR\":4.453,\"NOK\":8.3235,\"NZD\":1.3905,\
"PHP\":50.055,\"PLN\":4.0662,\"RON\":4.2463,\"RUB\":58.185,\"SEK\"
:8.8712,\"SGD\":1.4165,\"THB\":34.995,\"TRY\":3.673,\"ZAR\":13.085,\"EUR\":0.93897}}";
// First get complete Json
JSONObject parseJson = new JSONObject(jsonText);
// get the Rate object
JSONObject rates = parseJson.getJSONObject("rates");
// Iterate for all the rates
Iterator itr = rates.keys();
// loop
while (itr.hasNext()) {
String data = (String) itr.next();
System.out.println(data);
}