public static JSONObject convertMeaningWithWordToJSONObject(Meaning meaning)
      throws JSONException, ParseException {
    JSONObject meaningToJSONObject = null;
    JSONObject jsonObjectWord = null;

    String jsonStr = null;
    String id = null;
    Date creationDate = null;
    Time creationTime = null;
    Date modificationDate = null;
    Time modificationTime = null;
    String status = null;
    String text = null;
    String creationDateStr = null;
    String creationTimeStr = null;
    String modificationDateStr = null;
    String modificationTimeStr = null;
    Word word = null;
    String idWord = null;
    String wordStr = null;

    if (meaning != null) {
      id = meaning.getId();
      creationDate = meaning.getCreationDate();
      creationTime = meaning.getCreationTime();
      modificationDate = meaning.getModificationDate();
      modificationTime = meaning.getModificationTime();
      status = meaning.getStatus();
      text = meaning.getText();
      word = meaning.getWord();

      // Converts
      creationDateStr =
          GeneralUtils.convertDateSQLToString(creationDate, ConstantsFormat.FORMAT_DATE_1);
      creationTimeStr =
          GeneralUtils.convertTimeSQLToString(creationTime, ConstantsFormat.FORMAT_TIME_1);
      modificationDateStr =
          GeneralUtils.convertDateSQLToString(modificationDate, ConstantsFormat.FORMAT_DATE_1);
      modificationTimeStr =
          GeneralUtils.convertTimeSQLToString(creationTime, ConstantsFormat.FORMAT_TIME_1);

    } else {
      Log.e(TAG, "Meaning is null");
    }

    if (word != null) {
      idWord = word.getId();
      jsonObjectWord = ConvertsTypeWord.convertWordWithOutMeaningsToJSONObject(word);
    } else {
      Log.e(TAG, "Word is null");
    }

    meaningToJSONObject = new JSONObject();

    meaningToJSONObject.put("id", id);
    meaningToJSONObject.put("creationDate", creationDateStr);
    meaningToJSONObject.put("creationTime", creationTimeStr);
    meaningToJSONObject.put("modificationDate", modificationDateStr);
    meaningToJSONObject.put("modificationTime", modificationTimeStr);
    meaningToJSONObject.put("status", status);
    meaningToJSONObject.put("text", text);
    meaningToJSONObject.put("word", jsonObjectWord);

    return meaningToJSONObject;
  }