```
    public static JSONObject SmsMessageCursor2Json(Cursor c){
        JSONObject jsonMsg = null;

        try {
            jsonMsg = new JSONObject();
            jsonMsg.put("messageID", c.getString(c.getColumnIndex(MessagingSmsConsts.ID)));
            jsonMsg.put("conversationID", c.getString(c.getColumnIndex(MessagingSmsConsts.THREAD_ID)));
            jsonMsg.put("type", "sms");
            jsonMsg.put("serviceID", "");
            jsonMsg.put("from", c.getString(c.getColumnIndex(MessagingSmsConsts.ADDRESS)));
            jsonMsg.put("timestamp", convertDateLong2String(
            		c.getLong(c.getColumnIndex(MessagingSmsConsts.DATE))));
            jsonMsg.put("read", c.getString(c.getColumnIndex(MessagingSmsConsts.READ)));
            jsonMsg.put("to", "");
            jsonMsg.put("body", c.getString(c.getColumnIndex(MessagingSmsConsts.BODY)));
            jsonMsg.put("state", MessagingSmsConstMaps.smsStateDictI2S.get(
            		c.getInt(c.getColumnIndex(MessagingSmsConsts.TYPE))));
            jsonMsg.put("deliveryStatus", MessagingSmsConstMaps.smsDiliveryStatusDictI2S.get(
            		c.getInt(c.getColumnIndex(MessagingSmsConsts.STATUS))));
            jsonMsg.put("deliveryTimestamp", "");
            jsonMsg.put("messageClass", "");
```