[英]Extracting data from JSON array
我知道它是一个数组,但我对 JSON 完全陌生,需要帮助理解它的结构,这是我提取数据的尝试:
String JSonString = readURL("//my URL is here");
JSONArray s = JSONArray.fromObject(JSonString);
JSONObject Data =(JSONObject)(s.getJSONObject(0));
System.out.println(Data.get("name"));
我的 JSON 数据是这样的:
{
"sports": [
{
"name": "basketball",
"id": 40,
"uid": "s:40",
"leagues": [
{
"name": "National Basketball Assoc.",
"abbreviation": "nba",
"id": 46,
"uid": "s:40~l:46",
"groupId": 7,
"shortName": "NBA",
"athletes": []
}
]
}
],
"resultsOffset": 10,
"resultsLimit": 10,
"resultsCount": 1,
"timestamp": "2013-11-18T03:15:43Z",
"status": "success"
}
我对这些东西并不是很了解,所以感谢所有的帮助。
这是想法:
JSONObject root = new JSONObject(yourJsonString);
JSONArray sportsArray = root.getJSONArray("sports");
// now get the first element:
JSONObject firstSport = sportsArray.getJSONObject(0);
// and details of the first element
String name = firstSport.getString("name"); // basketball
int id = firstSport.getInt("id"); // 40
JSONArray leaguesArray = firstSport.getJSONArray("leagues");
// and so on, you can process leaguesArray similarly
它应该可以工作(如果有任何编译错误,请随时抱怨)
您的 JSON 数据是一个对象(以花括号开头)。 在下一个内层中,有一个数组(在“sports”键处):
String jsonString = readURL("//my URL is here");
JSONObject result = JSONObject(jsonString);
JSONArray sports = result.getJSONArray("sports");
JSONObject sport = sport.getJSONObject(0);
System.out.println(sport.getString("name"));
我可能使用过其他 JSON 库而不是你。
JSON 表示 JavaScript 对象表示法。
javascripts 中的对象只是容器,可以用键值对来表示。 请查找以下符号以了解有关 json 的信息。
在json中表示对象:例如Student
{"name" : "Robin", "rollnumber" : "1"}
在 json 中表示数组:例如学生数组
[{"name" : "Robin", "rollnumber" : "1"}, {"name" : "Mark", "rollnumber" : "2"}]
您可以通过此链接http://www.json.org/fatfree.html 上的图表了解有关 JSON 的更多信息
有多种方法可以将 JSON 转换为 javaobject 和 javaobject 到 JSON:其中之一是http://wiki.fasterxml.com/JacksonInFiveMinutes
在此处添加详细代码以及导入。
如果这有帮助。
import org.json.JSONException;
import org.json.JSONObject;
public class extractingJSON {
public static void main(String[] args) throws JSONException {
// TODO Auto-generated method stub
String jsonStr = "{\"name\":\"SK\",\"arr\":{\"a\":\"1\",\"b\":\"2\"},\"arrArray\":[{\"a\":\"1\",\"b\":\"2\"}]}";
JSONObject jsonObj = new JSONObject(jsonStr);
String name = jsonObj.getString("name");
System.out.println(name);
String first = jsonObj.getJSONObject("arr").getString("a");
System.out.println(first);
first = jsonObj.getJSONArray("arrArray").getJSONObject(0).getString("a");
System.out.println(first);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.