commit 4c7510ae6090c284b40778e08c10000004214b25 Author: lyf666 Date: Sat Feb 18 14:29:01 2017 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bf9d39 --- /dev/null +++ b/.gitignore @@ -0,0 +1,73 @@ +# Created by .ignore support plugin (hsz.mobi) +### Maven template +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +### Java template +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +*.iml +.idea \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..3db04ed --- /dev/null +++ b/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + + cn.cloudowr + sdk + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.5 + + 1.8 + 1.8 + + + + + + + com.jfinal + jfinal + 3.0 + provided + + + com.jfinal + jetty-server + 8.1.8 + provided + + + mysql + mysql-connector-java + 5.1.20 + provided + + + com.alibaba + fastjson + 1.2.6 + provided + + + org.mongodb + mongo-java-driver + 3.4.2 + provided + + + \ No newline at end of file diff --git a/src/main/java/cn/cloudowr/sdk/FastJSONUtil.java b/src/main/java/cn/cloudowr/sdk/FastJSONUtil.java new file mode 100644 index 0000000..667898f --- /dev/null +++ b/src/main/java/cn/cloudowr/sdk/FastJSONUtil.java @@ -0,0 +1,17 @@ +package cn.cloudowr.sdk; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializeConfig; + +/** + * Created by lyf66 on 2017/2/18. + */ +public class FastJSONUtil { + private static ObjectIdSerializer serializer = new ObjectIdSerializer(); + + public static String bsonToJSON(Object object) { + SerializeConfig mapping = new SerializeConfig(); + mapping.put(org.bson.types.ObjectId.class, serializer); + return JSON.toJSONString(object, mapping); + } +} diff --git a/src/main/java/cn/cloudowr/sdk/ObjectIdSerializer.java b/src/main/java/cn/cloudowr/sdk/ObjectIdSerializer.java new file mode 100644 index 0000000..df3f2c9 --- /dev/null +++ b/src/main/java/cn/cloudowr/sdk/ObjectIdSerializer.java @@ -0,0 +1,22 @@ +package cn.cloudowr.sdk; + +import com.alibaba.fastjson.serializer.JSONSerializer; +import com.alibaba.fastjson.serializer.ObjectSerializer; +import org.bson.types.ObjectId; + +import java.io.IOException; +import java.lang.reflect.Type; + +/** + * Created by lisai on 17/2/9. + */ +public class ObjectIdSerializer implements ObjectSerializer { + @Override + public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException { + if(object == null) { + serializer.getWriter().writeNull(); + } else { + serializer.write(((ObjectId)object).toString()); + } + } +}