방금 JSON 파일에 저장된 값을 가져 와서 sqlite 데이터베이스에 저장하려고했습니다.
이것은 내 JSON 파일입니다.
{
"list": {
"meta": {
"count": 132,
"start": 0,
"type": "resource-list"
},
"resources": [
{
"resource": {
"classname": "Quote",
"fields": {
"date": "2017-03-16",
"price": 3.6720000000000002,
"type": "currency",
"symbol": "AED=X"
}
}
},
{
"resource": {
"classname": "Quote",
"fields": {
"date": "2017-03-16",
"price": 65.075000000000003,
"type": "currency",
"symbol": "AFN=X"
}
}
},
{
.............
}
............
나는 이와 같이 시도했지만 예외가 발생했습니다.
JSONObject mainObj = null;
try {
mainObj = new JSONObject(JSON);
JSONObject getSth = mainObj.getJSONObject("list");
if(mainObj != null){
JSONArray list = getSth.getJSONArray("resources");
if(list != null){
for(int i = 0; i < list.length();i++){
JSONObject elem = list.getJSONObject(i);
if(elem != null){
JSONObject prods = elem.getJSONObject("fields");
Object level = prods.get("type");
Toast.makeText(getApplicationContext(),""+level.toString(),Toast.LENGTH_LONG).show();
}
}
}
}
}catch (Exception e){
Toast.makeText(getApplicationContext(),""+e.toString(),Toast.LENGTH_LONG).show();
}
예외가 발생했습니다 : 필드에 값이 없습니다 ...
그리고 pls는 이러한 값을 (행 필드) 이름, 상금, 기호 및 유형의 데이터베이스 테이블 (matrotable)에 저장하는 몇 가지 제안을 제공합니다. 문자열 배열을 만들고 sqlite의 값을 검색하고 저장하여 시도 할 수 있습니다. 다른 쉬운 옵션이 있습니까? ... 감사
당신의 fields
개체는 개체 내부에 resource
있으므로
for(int i = 0; i < list.length();i++){
JSONObject elem = list.getJSONObject(i);
if(elem != null){
JSONObject prods = elem.getJSONObject("resource")
.getJSONObject("fields");
Object level = prods.get("type");
Toast.makeText(getApplicationContext(),""+level.toString(),Toast.LENGTH_LONG).show();
}
}
"resources": [ // resources list { // object i "resource": { // fields are inside "resource" object "classname": "Quote", "fields": { "date": "2017-03-16", "price": 3.6720000000000002, "type": "currency", "symbol": "AED=X" } } }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다