OK. I will think about that.

Thanks.

Best Regards,
Chatree Srichart

On Thu, Nov 6, 2014 at 9:38 PM, Adrian Crum <
adrian.c...@sandglass-software.com> wrote:

> No, because that would expose Jackson to the rest of the framework. There
> is a TODO in JSON.java to find a generic way to include those features.
>
> So, if you can think of a way to add a generic method to JSON.java that
> will configure Jackson, that would be great.
>
> Something like JSON.setDateFormat(String format)...
>
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
>
>
> On 11/6/2014 11:35 AM, Chatree Srichart wrote:
>
>> Hi Adrian,
>>
>> Would it be better if you make "mapper" property to be public?
>>
>> Now, I cannot not change date format in JSON string even though Jackson
>> allow to do.
>>
>> http://wiki.fasterxml.com/JacksonFAQDateHandling
>>
>> For example, I want to change:
>>
>> createdTxStamp: 1386071477388
>>
>> to:
>>
>> createdTxStamp: "2013-12-03"
>>
>> Best Regards,
>> Chatree Srichart
>>
>> On Mon, Oct 27, 2014 at 4:06 PM, <adri...@apache.org> wrote:
>>
>>  Author: adrianc
>>> Date: Mon Oct 27 09:06:59 2014
>>> New Revision: 1634481
>>>
>>> URL: http://svn.apache.org/r1634481
>>> Log:
>>> Integrate JSON.java with the Jackson library.
>>>
>>> Modified:
>>>
>>> ofbiz/branches/json-integration-refactoring/
>>> framework/base/src/org/ofbiz/base/lang/JSON.java
>>>
>>> Modified:
>>> ofbiz/branches/json-integration-refactoring/
>>> framework/base/src/org/ofbiz/base/lang/JSON.java
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/branches/json-
>>> integration-refactoring/framework/base/src/org/ofbiz/
>>> base/lang/JSON.java?rev=1634481&r1=1634480&r2=1634481&view=diff
>>>
>>> ============================================================
>>> ==================
>>> ---
>>> ofbiz/branches/json-integration-refactoring/
>>> framework/base/src/org/ofbiz/base/lang/JSON.java
>>> (original)
>>> +++
>>> ofbiz/branches/json-integration-refactoring/
>>> framework/base/src/org/ofbiz/base/lang/JSON.java
>>> Mon Oct 27 09:06:59 2014
>>> @@ -23,23 +23,30 @@ import java.io.InputStream;
>>>   import java.io.Reader;
>>>
>>>   import org.apache.commons.io.IOUtils;
>>> -import org.ofbiz.base.lang.ThreadSafe;
>>>   import org.ofbiz.base.util.Assert;
>>>
>>> +import com.fasterxml.jackson.databind.ObjectMapper;
>>> +
>>>   /** A JSON object. */
>>>   @ThreadSafe
>>>   public final class JSON {
>>>
>>> +    // TODO: Find a generic way to modify mapper options
>>> +    private static final ObjectMapper mapper = new ObjectMapper();
>>> +
>>>       public static JSON from(InputStream inStream) throws IOException {
>>>           Assert.notNull("inStream", inStream);
>>>           String jsonString = IOUtils.toString(inStream, "UTF-8");
>>>           return from(jsonString);
>>>       }
>>>
>>> -    public static JSON from(Object object) {
>>> +    public static JSON from(Object object) throws IOException {
>>>           Assert.notNull("object", object);
>>> -        // TODO: Finish implementation.
>>> -        return null;
>>> +        try {
>>> +            return from(mapper.writeValueAsString(object));
>>> +        } catch (Exception e) {
>>> +            throw new IOException(e);
>>> +        }
>>>       }
>>>
>>>       public static JSON from(Reader reader) throws IOException {
>>> @@ -70,9 +77,14 @@ public final class JSON {
>>>           return jsonString.hashCode();
>>>       }
>>>
>>> -    public <T> T toObject() {
>>> -        // TODO: Finish implementation.
>>> -        return null;
>>> +    public <T> T toObject(Class<T> targetClass) throws IOException {
>>> +        try {
>>> +            return mapper.readValue(jsonString, targetClass);
>>> +        } catch (IOException e) {
>>> +            throw e;
>>> +        } catch (Exception e) {
>>> +            throw new IOException(e);
>>> +        }
>>>       }
>>>
>>>       @Override
>>>
>>>
>>>
>>>
>>

Reply via email to