问题JSON的创建和解析 [英] Issue with json creation and parsing

查看:117
本文介绍了问题JSON的创建和解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

喜现在面临一些问题与code。以下是我的code生成JSON数据。

 的for(int i = 0; I< allEds.size();我++){
                。字符串edsText = allEds.get(我).getText()的toString();
               //微调= allSpns.get(我);
               。字符串spinSelected = allSpns.get(我).getSelectedItem()的toString();
               尝试
                {
                   JSONObject的JSON =新的JSONObject();
                   json.put(字段名,edsText);
                   json.put(的FieldType,spinSelected);
                   parent.accumulate(数据,JSON);



                }
                赶上(JSONException E)
                {
                        // TODO自动生成的catch块
                        e.printStackTrace();
                }

            }
 

它做工精细,并得到,如果我做了超过一个条目来JSON

 纠正了认沽
{数据:[{的FieldType:字符,字段名:fffg},{的FieldType:字符,字段名:FG]}
 

当只有一个入口为JSON它提供了以下输出

  {数据:{的FieldType:字符,字段名:护卫舰,ID:0}}
 

在解析第二JSON我得到errors..Any事情错在我的code?

code I用于解析JSON

 的JSONObject jsonObj =新的JSONObject(folderStructure);
        JSONArray数据= jsonObj.getJSONArray(数据);
         // ArrayList的< HashMap的<字符串,字符串>> folderList =新的ArrayList< HashMap的<字符串,字符串>>();
        的for(int i = 0; I< data.length();我++)
        {

            // HashMap的<字符串,字符串>图=新的HashMap<字符串,字符串>();
             JSONObject的OBJ = data.getJSONObject(我);
             字符串ID = obj.getString(ID);
                字符串VALUENAME = obj.getString(字段名);
                字符串值类型= obj.getString(的FieldType);
}
 

解决方案

 的JSONObject父=新的JSONObject();
JSONArray jdata =新JSONArray();

    尝试{
         的for(int i = 0; I< allEds.size();我++){
             JSONObject的childObj =新的JSONObject();
             childObj。把(字段名,allEds.get(我).getText()的toString());
             childObj。放(的FieldType,allSpns.get(ⅰ).getSelectedItem()的toString());

             jdata。把(childObj)的ToString();
            }
          parent.put(数据,jdata);
       }
       赶上(JSONException E){
         // TODO自动生成的catch块
         e.printStackTrace();
       }
 

hi am facing some kind of issue with the code . Following is my code to generate json data

for(int i=0; i < allEds.size(); i++){
                String edsText = allEds.get(i).getText().toString();                                           
               //spinner = allSpns.get(i);
               String spinSelected=allSpns.get(i).getSelectedItem().toString();                  
               try
                {
                   JSONObject json = new JSONObject();          
                   json.put("FieldName", edsText);
                   json.put("FieldType",spinSelected);
                   parent.accumulate("data", json);



                }
                catch (JSONException e)
                {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }                   

            }

It work fine and getting if i made more than one entry to json

correct out put
{"data":[{"FieldType":"Character","FieldName":"fffg"},{"FieldType":"Character","FieldName":"fg"]}

When only one entry as json it gives the following out

{"data":{"FieldType":"Character","FieldName":"ffg","Id":0}}

While parsing the second json am getting errors..Any thing wrong on my code?

code i used for parsing json

JSONObject jsonObj = new JSONObject(folderStructure);
        JSONArray data = jsonObj.getJSONArray("data");
         //ArrayList<HashMap<String, String>> folderList = new ArrayList<HashMap<String, String>>();
        for(int i=0; i<data.length(); i++)
        {

            //HashMap<String, String> map = new HashMap<String, String>();
             JSONObject obj=data.getJSONObject(i);
             String id = obj.getString("Id"); 
                String valueName = obj.getString("FieldName"); 
                String valueType = obj.getString("FieldType"); 
}

解决方案

JSONObject parent = new JSONObject();
JSONArray jdata = new JSONArray();

    try{
         for(int i=0; i < allEds.size(); i++){
             JSONObject childObj = new JSONObject();         
             childObj .put("FieldName", allEds.get(i).getText().toString());
             childObj .put("FieldType",allSpns.get(i).getSelectedItem().toString());

             jdata .put(childObj).toString();
            }
          parent.put("data",jdata);
       }
       catch (JSONException e){
         // TODO Auto-generated catch block
         e.printStackTrace();
       }

这篇关于问题JSON的创建和解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆