`

关于JSON的一些数据格式转换

阅读更多

 

 jsonObject转jsonArray 可以给jsonObject加个属性,例如:

JSONArray ja = new JSONArray();
String[] str=StrUtil.getStringFromBlob(orderList.get(k).getORDER_PRODUCT_INFO()).split("@\\|@");
					for(int i =0;i<str.length;i++){
						    JSONObject jo =new JSONObject();
							String[] strSort=str[i].split("#\\|#");
							System.out.println("商品SKU编码:"+strSort[1]+"购买此商品的数量"+strSort[4]);
							jo.put("sku_id", strSort[1]);
							jo.put("stock_num", strSort[4]);
							ja.add(jo);
	}

JSONObject jsonStockNum=new JSONObject();
jsonStockNum.put("parameter", ja);

 

	JSONObject jsonObject = JSONObject.parseObject(requestData);//解析请求的参数
					if(jsonObject != null){
						JSONArray jsonArray = jsonObject.getJSONArray("parameter");
						if(jsonArray !=null && jsonArray.size() > 0){
							JSONObject json = null;
							String skuId = "";
							String stockNumStr = "";
							BigDecimal stockNum = new BigDecimal(0);
							//商品sku集合,用于存放商品的sku
							List<ProductSkuVO> productSkuList = new ArrayList<ProductSkuVO>();
							//商品sku对象
							ProductSkuVO productSkuVO = null;
							for (int i = 0; i < jsonArray.size(); i++) {
								json = jsonArray.getJSONObject(i);
								//商品的sku编号
								skuId = json.getString("sku_id");
								//商品的购买数量
								stockNumStr = json.getString("stock_num");
								if(StrUtil.isNotNull(stockNumStr)){
									stockNum = new BigDecimal(stockNumStr);
								}
								
								productSkuVO = new ProductSkuVO();
								productSkuVO.setSKU_ID(skuId);
								productSkuVO.setSTOCK_NUM(stockNum);
								productSkuList.add(productSkuVO);
							}
							
							Map<String,Object> parameter = new HashMap<String, Object>();
							parameter.put("parameters", productSkuList);
							//循环update,回归库存
							int count=productSkuService.modifyProductSkuById(parameter);
							if(count == jsonArray.size()){
								jsonResult.put("code", -1); //批量执行成功
							}else{
								jsonResult.put("code", 1); //批量执行失败
							}
						}

 

//1 字符串装换为对象,使用JSON的parse方法  
alert("begin");  
var text = '{"a":"1", "b":"2", "c":"3"}';  
var jsonObject = JSON.parse(text, null);  
alert("The jsonObject value is " +jsonObject.a + ";" + jsonObject.b + ";" + jsonObject.c);  
  
//2 对象转换为字符串,使用JSON的stringify方法  
alert(JSON.stringify(jsonObject));  
  
//3 使用eval代替parse方法  
var jsonObject2 = eval('(' + text + ')'); //这里直接写 eval(text) 会报错的  
alert("The jsonObject2 value is " +jsonObject2.a + ";" + jsonObject2.b + ";" + jsonObject2.c); 

 

import org.json.simple.JSONArray;  
import org.json.simple.JSONObject;  
import org.json.simple.parser.JSONParser;  
import org.json.simple.parser.ParseException;  
  
public class JsonTest {  
  
    /** 
     * @param args 
     */  
    @SuppressWarnings("unchecked")  
    public static void main(String[] args) {  
          
        //1 json对象转换为字符串  
        JSONObject subObject = new JSONObject();  
        subObject.put("ooo", "***");  
        subObject.put("ppp", "&&&");  
          
        JSONObject object = new JSONObject();  
        object.put("aaa", "111");  
        object.put("bbb", "222");  
        object.put("ccc", subObject);  
          
        System.out.println(object.toJSONString());  
          
        //2 json数组对象装换为字符串  
        JSONArray array = new JSONArray();  
          
        JSONObject object1 = new JSONObject();  
        object1.put("aaa", "111");  
        object1.put("bbb", "222");  
          
        JSONObject object2 = new JSONObject();  
        object2.put("aaa", "111");  
        object2.put("bbb", "222");  
          
        array.add(object1);  
        array.add(object2);  
          
        System.out.println(array.toJSONString());  
          
        //3 字符串转换为json对象  
        String jsonStr = "{\"aaa\":\"111\",\"ccc\":{\"ooo\":\"***\",\"ppp\":\"&&&\"},\"bbb\":\"222\"}";  
        JSONParser parser = new JSONParser();  
        try {  
            JSONObject parseObject = (JSONObject)parser.parse(jsonStr);  
            System.out.println("---->" + parseObject.toJSONString());  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
          
        //4 字符串转换为数组  
        jsonStr = "[{\"aaa\":\"111\",\"bbb\":\"222\"},{\"aaa\":\"111\",\"bbb\":\"222\"}]";  
        try {  
            JSONArray parseObject = (JSONArray)parser.parse(jsonStr);  
            System.out.println("---->" + parseObject.toJSONString());  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
          
    }  
  
}  

 二级树状结构的json拼接:

List<SysProductClassVO> list = sysProductClassService.getSysProductClassByParentClassId(classVO);  //查询出根目录
			JSONArray jsonParent = new JSONArray();
			if(list.size() > 0){
				for (SysProductClassVO sysProductParent : list) {
					List<SysProductClassVO> childList = sysProductClassService.getSysProductClassByParentClassId(sysProductParent); //根据父类的ID 查询所对应的子类
					JSONArray childArray =  new JSONArray();
					JSONObject childObj = new JSONObject();
					if(childList.size()>0){
						for (SysProductClassVO sysProuctChild : childList) {
							JSONObject jsonChild = new JSONObject();
							jsonChild.put("childClassID",sysProuctChild.getCLASS_ID());
							jsonChild.put("childClassName",sysProuctChild.getCLASS_NAME());
							jsonChild.put("childIntro", sysProuctChild.getINTRO());
							jsonChild.put("childClassPath", sysProuctChild.getCLASS_PATH());
							jsonChild.put("childOrderNum", sysProuctChild.getORDER_NUM());
							jsonChild.put("childSummaryImg", sysProuctChild.getSUMMARY_IMG());
							childArray.add(jsonChild);
					   }
					}
					childObj.put("childArray", childArray);
					childObj.put("parentId", sysProductParent.getCLASS_ID());
					childObj.put("parentName", sysProductParent.getCLASS_NAME());
					childObj.put("parentImg", sysProductParent.getSUMMARY_IMG());
					jsonParent.add(childObj);
					jsonResult.put("result", jsonParent);
				}
				jsonResult.put("code",1);  //1代表查询成功并且有数据
				jsonResult.put("msg", "成功有数据");
			}else{
			  jsonResult.put("code",0);  //1代表查询成功没有数据
			  jsonResult.put("msg", "成功无数据");
			}

 得到的格式是:

 

{
    "code": 1,
    "msg": "成功有数据",
    "result": [
        {
            "childArray": [
               
                {
                    "childClassID": "305085",
                    "childClassName": "APLLE",
                    "childClassPath": "root,202080",
                    "childIntro": "苹果",
                    "childOrderNum": 10,
                    "childSummaryImg": ""
                },
                {
                    "childClassID": "351754",
                    "childClassName": "老人机",
                    "childClassPath": "root,202080",
                    "childIntro": "老人机",
                    "childOrderNum": 54,
                    "childSummaryImg": "/uploadfiles/20150617/1434551442833.png"
                },
                {
                    "childClassID": "426938",
                    "childClassName": "141414141",
                    "childClassPath": "root,202080",
                    "childIntro": "哦普波及",
                    "childOrderNum": 37,
                    "childSummaryImg": "/uploadfiles/20150525"
                }
            ],
            "parentId": "202080",
            "parentImg": "/uploadfiles/20150727/1437992760135.jpg",
            "parentName": "手机"
        },
        {
            "childArray": [
                {
                    "childClassID": "131011",
                    "childClassName": "洗护用品",
                    "childClassPath": "root,265769",
                    "childIntro": "洗护用品",
                    "childOrderNum": 52,
                    "childSummaryImg": "/uploadfiles/20150602/1433231310352.jpg"
                }
            ],
            "parentId": "265769",
            "parentImg": "/uploadfiles/20150602/1433231243016.jpg",
            "parentName": "清洁用品"
        },
        {
            "childArray": [],
            "parentId": "268711",
            "parentImg": "/uploadfiles/20150721/1437443232128.png",
            "parentName": "音乐播放器"
        },
        {
            "childArray": [
                {
                    "childClassID": "861894",
                    "childClassName": "奶粉辅食",
                    "childClassPath": "root,276374",
                    "childIntro": "奶粉",
                    "childOrderNum": 5,
                    "childSummaryImg": ""
                },
                {
                    "childClassID": "909738",
                    "childClassName": "尿裤湿巾",
                    "childClassPath": "root,276374",
                    "childIntro": "尿裤湿巾",
                    "childOrderNum": 7,
                    "childSummaryImg": ""
                }
            ],
            "parentId": "276374",
            "parentImg": "/uploadfiles/20150727",
            "parentName": "母婴产品"
        },
        {
            "childArray": [],
            "parentId": "310828",
            "parentImg": "/uploadfiles/20150526/1432640562213.png",
            "parentName": "滋补保健"
        },
        {
            "childArray": [
                {
                    "childClassID": "390937",
                    "childClassName": "洗发护发",
                    "childClassPath": "root,371040",
                    "childIntro": "洗发、护发",
                    "childOrderNum": 44,
                    "childSummaryImg": "/uploadfiles/20150528/1432789048646.jpg"
                },
                {
                    "childClassID": "870655",
                    "childClassName": "个护健康",
                    "childClassPath": "root,371040",
                    "childIntro": "个护健康",
                    "childOrderNum": 49,
                    "childSummaryImg": "/uploadfiles/20150602/1433229445925.jpg"
                },
                {
                    "childClassID": "925963",
                    "childClassName": "面部护理",
                    "childClassPath": "root,371040",
                    "childIntro": "护肤",
                    "childOrderNum": 45,
                    "childSummaryImg": "/uploadfiles/20150528/1432789079079.jpg"
                },
                {
                    "childClassID": "963136",
                    "childClassName": "女性护理",
                    "childClassPath": "root,371040",
                    "childIntro": "关爱女性健康",
                    "childOrderNum": 50,
                    "childSummaryImg": "/uploadfiles/20150602/1433230613153.jpg"
                }
            ],
            "parentId": "371040",
            "parentImg": "/uploadfiles/20150528/1432788923300.jpg",
            "parentName": "美妆个护"
        },
        {
            "childArray": [],
            "parentId": "500720",
            "parentImg": "/uploadfiles/20150624/1435080067390.jpg",
            "parentName": "咖啡"
        },
        {
            "childArray": [
                {
                    "childClassID": "234173",
                    "childClassName": "保健品",
                    "childClassPath": "root,611656",
                    "childIntro": "保健品",
                    "childOrderNum": 30,
                    "childSummaryImg": ""
                },
                {
                    "childClassID": "705587",
                    "childClassName": "食品",
                    "childClassPath": "root,611656",
                    "childIntro": "卖食品",
                    "childOrderNum": 39,
                    "childSummaryImg": "/uploadfiles/20150525/1432543719712.png"
                }
            ],
            "parentId": "611656",
            "parentImg": "",
            "parentName": "营养保健"
        },
        {
            "childArray": [
                {
                    "childClassID": "125989",
                    "childClassName": "国产牛奶",
                    "childClassPath": "root,717078",
                    "childIntro": "二级分类",
                    "childOrderNum": 28,
                    "childSummaryImg": ""
                }
            ],
            "parentId": "717078",
            "parentImg": "",
            "parentName": "牛奶"
        },
        {
            "childArray": [],
            "parentId": "740664",
            "parentImg": "/uploadfiles/20150618/1434629062035.jpg",
            "parentName": "饮料"
        },
        {
            "childArray": [],
            "parentId": "763126",
            "parentImg": "/uploadfiles/20150512/1431416620658.jpg",
            "parentName": "进口饮料"
        },
        {
            "childArray": [],
            "parentId": "825473",
            "parentImg": "/uploadfiles/20150525/1432534088387.jpg",
            "parentName": "奶粉"
        },
        {
            "childArray": [
                {
                    "childClassID": "731541",
                    "childClassName": "zy女靴2",
                    "childClassPath": "root,867280",
                    "childIntro": "zy女靴2简介",
                    "childOrderNum": 12,
                    "childSummaryImg": "/uploadfiles/20150512/1431409200687.jpg"
                }
            ],
            "parentId": "867280",
            "parentImg": "/uploadfiles/20150512/1431409144221.jpg",
            "parentName": "zy女鞋1"
        },
        {
            "childArray": [
                {
                    "childClassID": "464818",
                    "childClassName": "坚果蜜饯",
                    "childClassPath": "root,952781",
                    "childIntro": "美味可口",
                    "childOrderNum": 48,
                    "childSummaryImg": "/uploadfiles/20150528/1432789557650.jpg"
                }
            ],
            "parentId": "952781",
            "parentImg": "/uploadfiles/20150528/1432789421802.jpg",
            "parentName": "休闲零食"
        },
        {
            "childArray": [
                {
                    "childClassID": "791509",
                    "childClassName": "台式机",
                    "childClassPath": "root,975656",
                    "childIntro": "台式机",
                    "childOrderNum": 35,
                    "childSummaryImg": "/uploadfiles/20150521/1432199845687.jpg"
                },
                {
                    "childClassID": "910103",
                    "childClassName": "笔记本",
                    "childClassPath": "root,975656",
                    "childIntro": "笔记本",
                    "childOrderNum": 34,
                    "childSummaryImg": "/uploadfiles/20150521/1432199823348.jpg"
                }
            ],
            "parentId": "975656",
            "parentImg": "/uploadfiles/20150521/1432199775582.jpg",
            "parentName": "电脑"
        }
    ]
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics