Java下自己实现JSON格式的生成和转换

package com.mzy.json;

import java.util.ArrayList;

public class JSONArrayItem {
    ArrayList<JSONObjectItem> arrayList= new ArrayList<JSONObjectItem>() ;
    public void addObjectToItem(String paranameString , Object paramValueObject)
    {
        JSONObjectItem item = new JSONObjectItem() ;
        item.setObjectName(paranameString);
        item.setObjectValue(paramValueObject);
        arrayList.add(item);
    }
    public void setItemNameAndValue(int index , String nameString , Object valueObject) {
        if( index < arrayList.size())
        {
            JSONObjectItem jsonObjectItem = arrayList.get(index) ;
            jsonObjectItem.setObjectName(nameString);
            jsonObjectItem.setObjectValue(valueObject);
        }
    }
    public void setItemName(int index ,String nameString) {
        if( index < arrayList.size())
        {
            JSONObjectItem jsonObjectItem = arrayList.get(index) ;
            jsonObjectItem.setObjectName(nameString);
        }
    }
    public ArrayList<JSONObjectItem> getArrayList()
    {
        return arrayList ;
    }
    public int getItemSize()
    {
        return arrayList.size() ;
    }
    public void setItemValueOfName(String nameString,Object valueObject) {
        for (JSONObjectItem jsonObjectItem : arrayList) {
            if(jsonObjectItem.getObjectName().equals(nameString))
            {
                jsonObjectItem.setObjectValue(valueObject);
                break ;
            }
        }
    }
    public String getItemName(int index)
    {
        String reString = null ;
        if( index < arrayList.size())
        {
            reString = arrayList.get(index).getObjectName() ;
        }
        return reString ;
    }
    public String generateJSONArrayItemString(){
        StringBuffer reString = new StringBuffer() ;
        reString.append("{ \r\n") ;
        for(int i = 0 ; i < arrayList.size() ; i++)
        {
            JSONObjectItem jsonObjectItem = arrayList.get(i) ;
            String string = jsonObjectItem.generateString();
            reString.append(string);
            if( i != (arrayList.size() - 1))
            {
                reString.append(",");
            }
            reString.append("\r\n") ;    
        }
        reString.append("} \r\n") ;    
        return reString.toString() ;
    }
}
 

 

package com.mzy.json;

public class JSONObjectItem {
    String ObjectName ;
    Object ObjectValue ;
    public String getObjectName() {
        return ObjectName;
    }
    public Object getObjectValue() {
        return ObjectValue;
    }
    public void setObjectName(String objectName) {
        ObjectName = objectName;
    }
    public void setObjectValue(Object objectValue) {
        ObjectValue = objectValue;
    }
    public String generateString(JSONObjectItem object1)
    {
        String reString =null ;
        reString = "\""+object1.getObjectName() +"\" :";
        if(object1.getObjectValue() instanceof String)
        {
            reString += "\""+object1.getObjectValue() +"\"";
        }
        else {
            reString += object1.getObjectValue().toString();
        }
        //reString += "\r\n";
        return reString;
    }
    public String generateString()
    {
        String reString =null ;
        reString = "\""+ObjectName +"\" :";
        if(ObjectValue instanceof String)
        {
            reString += "\""+ObjectValue +"\"";
        }
        else {
            reString += ObjectValue.toString();
        }
        //reString += "\r\n";
        return reString;
    }
}
 

 

 

package com.mzy.json;

import java.util.ArrayList;

public class JSONArrayList {
    String ArrayName ;
    ArrayList<JSONArrayItem> jsonArrayList = new ArrayList<JSONArrayItem>() ;
    JSONArrayList()
    {
        ArrayName = null ;
    }
    JSONArrayList(String nameString , int ItemNum , int ParamentNumOfItem)
    {
        ArrayName = nameString ;
        for( int i = 0 ; i < ItemNum ; i++ )
        {
            JSONArrayItem tmpArrayItem = new JSONArrayItem() ;
            for( int j = 0 ; j < ParamentNumOfItem ; j++ )
            {
                tmpArrayItem.addObjectToItem(" ", null);
            }
            jsonArrayList.add(tmpArrayItem);
        }
        
    }
    public void setArrayItemNameOfIndex(int index , String ParamentName) {
        for( int i = 0 ; i < jsonArrayList.size() ; i++)
        {
            JSONArrayItem jsonArrayItem = jsonArrayList.get(i);
            jsonArrayItem.setItemName(index, ParamentName);
        }
    }
    public void setArrayItemValueOfIndex(int ListIndex,int ItemIndex , Object objectvalue) {
        jsonArrayList.get(ListIndex).getArrayList().get(ItemIndex).setObjectValue(objectvalue);
    }
    public String getArrayName() {
        return ArrayName;
    }
    public void setArrayName(String arrayName) {
        ArrayName = arrayName;
    }
    public JSONArrayItem getJsonArrayItem(int index)
    {
        return jsonArrayList.get(index);
    }
    public String generateJSONArrayListString() {
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("\r\n");
        stringBuffer.append("\"");
        stringBuffer.append(ArrayName);
        stringBuffer.append("\" : [");
        for(int i = 0 ; i < jsonArrayList.size() ; i++)
        {
            JSONArrayItem jsonArrayItem = jsonArrayList.get(i);
            String string = jsonArrayItem.generateJSONArrayItemString() ;
            stringBuffer.append(string);
            if(i != (jsonArrayList.size()-1))
            {
                stringBuffer.append(",");
            }
        }
        stringBuffer.append("]");
        return stringBuffer.toString();
    }
}
 

package com.mzy.json;

import java.util.ArrayList;

import com.mzy.mysql.linkMySql;

public class JSONObject<Object> {
    ArrayList<Object> jsonobject = new ArrayList<Object>() ;
    void addJSONObject(JSONObjectItem obj) {
        if(obj != null) {
            jsonobject.add((Object)obj);
        }
    }
    void addJSONObject(String nameString , Object valueObject)
    {
        JSONObjectItem object1 = new JSONObjectItem() ;
        object1.setObjectName(nameString);
        object1.setObjectValue(valueObject);
        this.addJSONObject(object1);
    }
    void addJSONArray(JSONArrayList array)
    {
        if(array != null )
        {
            jsonobject.add((Object)array) ;
        }
    }
    Object getJSONObjectValue(String nameString)
    {
        int index = -1 ;
        boolean flag = false ;
        for(int i = 0 ; i < jsonobject.size() ; i++) 
        {
            Object jsonObject1 = jsonobject.get(i);
            if(jsonObject1 instanceof JSONObjectItem)
            {
                if( ((JSONObjectItem) jsonObject1).getObjectName().equals(nameString) )
                {
                    flag = true ;
                    index = i ;
                    break ;
                }
            }
            else if (jsonObject1 instanceof JSONArrayList) {
                if(((JSONArrayList) jsonObject1).getArrayName().equals(nameString))
                {
                    flag = true ;
                    index = i ;
                    break ;
                }
            }
            else {
                
            }
        }
        if(flag)
        {
            return jsonobject.get(index);
        }
        else {
            return null ;
        }
    }
    
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        StringBuffer reString = new StringBuffer() ;
        if(jsonobject.size() > 0 )
        {
            reString.append("{ \r\n");
            for( int i = 0 ; i < jsonobject.size();i++)
            {
                Object object = jsonobject.get(i) ;
                if( object instanceof JSONObjectItem )
                {
                    JSONObjectItem jObject1 = (JSONObjectItem)object ;
                    String tempString = jObject1.generateString(jObject1);
                    reString.append(tempString) ;
                    if( i != ( jsonobject.size() - 1))
                    {
                        reString.append(",") ;
                    }
                    reString.append("\r\n");
                }
                else if (object instanceof JSONArrayList) {
                    JSONArrayList jsonArray = (JSONArrayList)object ;
                    String teString = jsonArray.generateJSONArrayListString();
                    reString.append(teString);
                    if( i != ( jsonobject.size() - 1))
                    {
                        reString.append(",") ;
                    }
                    reString.append("\r\n");
                }
                else {
                    reString = null ;
                    break ;
                }
            }
            reString.append("\r\n }");
        }
        else {
            reString = null ;
        }
        
        return reString.toString() ;
    }
    public static void main(String[] args) {
        linkMySql.connectMysql();
        String tmString1 = GenerateDeviceListJSON.GenerateDeviceMonitorInfo();
        
        System.out.println(tmString1);

    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值