- 
                Notifications
    
You must be signed in to change notification settings  - Fork 540
 
Open
Labels
questionFurther information is requestedFurther information is requested
Description
请描述您的问题
询问有关本项目的使用和其他方面的相关问题。
`package com.easyis.apaas.common.form.menu;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONReader;
/**
- 研究 从redis 读取 CustomMenuEntity太慢
 
*/
public class TestFastjson2ParseSlow {
static {
/System.out.println("执行了"+JSONReader.Feature.AllowUnQuotedFieldNames.mask);
JSON.config(JSONReader.Feature.AllowUnQuotedFieldNames);/
}
public static void toJSONObject(String str) {
	long begin =System.currentTimeMillis();
	//转jsonObj
	Object v = JSON.parseObject(str);
	System.out.println("result:"+v.getClass().getName()+" "+v);
	long end =System.currentTimeMillis();
	long cost = end - begin;
	System.out.println("toJSONObject耗时:"+cost);
}
public static void toJavaObjectAutoType(String str) {
	long begin =System.currentTimeMillis();
	//转jsonObj
	@SuppressWarnings("deprecation")
	Object v = JSON.parseObject(str, Object.class,JSONReader.Feature.SupportAutoType);
	System.out.println("result:"+v.getClass().getName()+" "+v);
	long end =System.currentTimeMillis();
	long cost = end - begin;
	System.out.println("toJavaObjectAutoType耗时:"+cost);
}
public static void toJavaObject(String str,Class<?> clazz) {
	long begin =System.currentTimeMillis();
	//转jsonObj
	//会报错 can not convert to boolean : java.util.HashMap
	//Object v = JSON.parseObject(str, clazz);
	Object jsonObj = JSON.parse(str);
	Object v = JSON.to(clazz, jsonObj);
	System.out.println("result:"+v.getClass().getName()+" "+v);
	long end =System.currentTimeMillis();
	long cost = end - begin;
	System.out.println("toJavaObject耗时:"+cost);
	
}
public static void main(String[] args) throws Exception {
	
	//JSON.config(JSONReader.Feature.AllowUnQuotedFieldNames);
	String str="{\"@type\":\"com.easyis.apaas.common.form.menu.CustomMenuEntity\",\"appId\":\"sapp_dev_platform\",\"bottomOperationButton\":\"[{\\\"enable\\\":true,\\\"functionName\\\":\\\"exportApp\\\",\\\"functionCnName\\\":\\\"导出应用\\\",\\\"functionType\\\":\\\"10\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"customActionSetting\\\":\\\"{ \\\\n \\\\n  \\\\\\\"action\\\\\\\":\\\\\\\"serviceFunction\\\\\\\",\\\\n\\\\n  \\\\\\\"needSelectedRow\\\\\\\": \\\\\\\"single\\\\\\\",\\\\n \\\\n  \\\\\\\"actionType\\\\\\\":\\\\\\\"download\\\\\\\",\\\\n \\\\n   \\\\\\\"refreshList\\\\\\\":false,\\\\n   \\\\\\\"serviceFunction\\\\\\\":\\\\\\\"${appFormService}.exportApp\\\\\\\"\\\\n\\\\n}\\\\n\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"importApp\\\",\\\"functionCnName\\\":\\\"导入应用\\\",\\\"functionType\\\":\\\"10\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"customActionSetting\\\":\\\"{ \\\\n \\\\n  \\\\\\\"action\\\\\\\":\\\\\\\"serviceFunction\\\\\\\",\\\\n\\\\n  \\\\\\\"formKey\\\\\\\":\\\\\\\"st_ide_import_export_file\\\\\\\",\\\\n  \\\\\\\"formData\\\\\\\":{},\\\\n \\\\n  \\\\\\\"needSelectedRow\\\\\\\": \\\\\\\"none\\\\\\\",\\\\n  \\\\n   \\\\\\\"refreshList\\\\\\\":true,\\\\n   \\\\\\\"serviceFunction\\\\\\\":\\\\\\\"${appFormService}.importApp\\\\\\\"\\\\n\\\\n}\\\\n\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"batchDisabled\\\",\\\"functionCnName\\\":\\\"批量停用\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"1\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_1\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"batchEnabled\\\",\\\"functionCnName\\\":\\\"批量启用\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"0\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_2\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"batchRecycle\\\",\\\"functionCnName\\\":\\\"批量移动到回收站\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"-1\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_2\\\"}]\",\"createBy\":\"admin\",\"createTime\":\"2024-05-16 17:10:56\",\"customMenuId\":\"1791033582962081792\",\"ds\":\"st_ide_app\",\"keywordQueryFieldsBean\":[{\"camleFieldName\":\"name\",\"field_des_name\":\"null【常规】\",\"field_name\":\"name\",\"field_type\":\"常规\",\"numType\":false,\"orderby\":0}],\"menuCode\":\"sm_1_2\",\"menuIcon\":\"menu-icon fa fa-leaf black\",\"menuName\":\"应用\",\"menuOrder\":\"460\",\"menuType\":1,\"operationButton\":\"[{\\\"enable\\\":true,\\\"functionName\\\":\\\"switchApp\\\",\\\"functionCnName\\\":\\\"切换应用\\\",\\\"functionType\\\":\\\"10\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"customActionSetting\\\":\\\"{ \\\\n \\\\n  \\\\\\\"action\\\\\\\":\\\\\\\"serviceFunction\\\\\\\",\\\\n \\\\n  \\\\\\\"needSelectedRow\\\\\\\": \\\\\\\"single\\\\\\\",\\\\n\\\\n   \\\\\\\"refreshList\\\\\\\":true,\\\\n   \\\\\\\"refreshListTimeout\\\\\\\":0,\\\\n   \\\\\\\"serviceFunction\\\\\\\":\\\\\\\"${appFormService}.switchApp\\\\\\\"\\\\n\\\\n}\\\",\\\"condition\\\":\\\"TV_1\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"disabled\\\",\\\"functionCnName\\\":\\\"停用\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"1\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_1\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"enabled\\\",\\\"functionCnName\\\":\\\"启用\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"0\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_2\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"recycle\\\",\\\"functionCnName\\\":\\\"移动到回收站\\\",\\\"functionType\\\":\\\"3\\\",\\\"fieldSetting\\\":[{\\\"field_name\\\":\\\"status\\\",\\\"required\\\":\\\"default\\\",\\\"hide\\\":\\\"default\\\",\\\"readonly\\\":\\\"default\\\",\\\"defaultValue\\\":\\\"\\\",\\\"defaultValueExpression\\\":\\\"\\\",\\\"fieldValue\\\":\\\"-1\\\",\\\"fieldValueExpression\\\":\\\"\\\"}],\\\"customActionSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_2\\\"}]\",\"orderFields\":[{\"@type\":\"com.alibaba.fastjson2.JSONObject\",\"field_name\":\"app_id\",\"order\":\"DESC\"}],\"orderbyFieldsBean\":[{\"field\":{\"camleFieldName\":\"appId\",\"field_des_name\":\"null【常规】\",\"field_name\":\"app_id\",\"field_type\":\"常规\",\"numType\":false,\"orderby\":0},\"orderByOrder\":\"DESC\"}],\"pageBtnsEnabledMap\":{\"@type\":\"java.util.HashMap\",\"add\":true,\"batchDel\":true,\"edit\":true,\"del\":true,\"list\":true},\"pageButton\":\"[{\\\"enable\\\":true,\\\"functionName\\\":\\\"list\\\",\\\"functionCnName\\\":\\\"查询\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"add\\\",\\\"functionCnName\\\":\\\"添加\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"edit\\\",\\\"functionCnName\\\":\\\"修改\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_4\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"del\\\",\\\"functionCnName\\\":\\\"删除\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_3\\\"},{\\\"enable\\\":true,\\\"functionName\\\":\\\"batchDel\\\",\\\"functionCnName\\\":\\\"删批量除\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"TV_3\\\"},{\\\"enable\\\":false,\\\"functionName\\\":\\\"batchEdit\\\",\\\"functionCnName\\\":\\\"批量编辑\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":false,\\\"functionName\\\":\\\"importData\\\",\\\"functionCnName\\\":\\\"导入\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"\\\"},{\\\"enable\\\":false,\\\"functionName\\\":\\\"exportData\\\",\\\"functionCnName\\\":\\\"导出\\\",\\\"fieldSetting\\\":\\\"\\\",\\\"condition\\\":\\\"\\\"}]\",\"pageButtonEntity\":[{\"condition\":\"\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"查询\",\"functionName\":\"list\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"新增\",\"functionName\":\"add\",\"position\":\"top\"},{\"condition\":\"TV_4\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"修改\",\"functionName\":\"edit\",\"position\":\"row\"},{\"condition\":\"TV_3\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"删除\",\"functionName\":\"del\",\"position\":\"row\"},{\"condition\":\"TV_3\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"批量删除\",\"functionName\":\"batchDel\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"批量编辑\",\"functionName\":\"batchEdit\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"导入\",\"functionName\":\"importData\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"导出\",\"functionName\":\"exportData\",\"position\":\"top\"}],\"pageButtonEntityCach\":[{\"condition\":\"\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"查询\",\"functionName\":\"list\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"新增\",\"functionName\":\"add\",\"position\":\"top\"},{\"condition\":\"TV_4\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"修改\",\"functionName\":\"edit\",\"position\":\"row\"},{\"condition\":\"TV_3\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"删除\",\"functionName\":\"del\",\"position\":\"row\"},{\"condition\":\"TV_3\",\"defaultBtn\":true,\"enable\":true,\"functionCnName\":\"批量删除\",\"functionName\":\"batchDel\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"批量编辑\",\"functionName\":\"batchEdit\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"导入\",\"functionName\":\"importData\",\"position\":\"top\"},{\"condition\":\"\",\"defaultBtn\":true,\"enable\":false,\"functionCnName\":\"导出\",\"functionName\":\"exportData\",\"position\":\"top\"}],\"pageCode\":\"sm_1_2\",\"pageQuerySet\":{\"keyword_query\":\"name\",\"simple_query\":[{\"@type\":\"com.alibaba.fastjson2.JSONObject\",\"field_name\":\"status\",\"operation\":\"=\",\"isBetweenAnd\":false}]},\"quickTagViews\":\"\",\"reportId\":\"\",\"showFieldsBean\":[],\"sysMenuType\":\"3\",\"tabViews\":\"TV_4:全部,TV_3:回收站\",\"tableId\":\"st_ide_app\",\"tenantId\":\"0:sapp_dev_platform\",\"updateBy\":\"admin\",\"updateTime\":\"2024-08-27 02:27:58\"}\r\n";
	
	//转jsonObj 574 627 693 605
	//toJSONObject(str);
	
	//转java对象指定class 1050 969 966
	for (int i = 0; i < 10; i++) {
		new Thread() {
			@Override
			public void run() {
				toJavaObject(str,com.easyis.apaas.common.form.menu.CustomMenuEntity.class);
			}
		}.start();
		
	}
			
	// 转java对象 935 936 1023 973
	//toJavaObjectAutoType(str);
	
	
}
}`
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested