fluid-api/src/main/java/com/fluidbpm/program/api/vo/field/Field.java
@Override
	@XmlTransient
	public JSONObject toJsonObject() throws JSONException
	{
		JSONObject returnVal = super.toJsonObject();

		//Field Name...
		if(this.getFieldName() != null)
		{
			returnVal.put(JSONMapping.FIELD_NAME,this.getFieldName());
		}

		//Field Description...
		if(this.getFieldDescription() != null)
		{
			returnVal.put(JSONMapping.FIELD_DESCRIPTION,this.getFieldDescription());
		}

		//Field Value...
		if(this.getFieldValue() != null)
		{
			//Text...
			if(this.getFieldValue() instanceof String)
			{
				returnVal.put(JSONMapping.FIELD_VALUE, this.getFieldValue());
			}
			//Decimal...
			else if(this.getFieldValue() instanceof Number)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((Number)this.getFieldValue()).doubleValue());
			}
			//True False...
			else if(this.getFieldValue() instanceof Boolean)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						(Boolean)this.getFieldValue());
			}
			//Date Time...
			else if(this.getFieldValue() instanceof Date)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						this.getDateAsLongFromJson((Date)this.getFieldValue()));
			}
			//Multi Choice...
			else if(this.getFieldValue() instanceof MultiChoice)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((MultiChoice)this.getFieldValue()).toJsonObject());
			}
			//Table Field...
			else if(this.getFieldValue() instanceof TableField)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((TableField)this.getFieldValue()).toJsonObject());
			}
			else
			{
				returnVal.put(JSONMapping.FIELD_VALUE, this.getFieldValue());
			}
		}

		//Type...
		if(this.getFieldType() != null)
		{
			returnVal.put(JSONMapping.FIELD_TYPE, this.getFieldType());
		}

		//Type Meta Data...
		if(this.getTypeMetaData() != null)
		{
			returnVal.put(JSONMapping.TYPE_META_DATA,this.getTypeMetaData());
		}

		return returnVal;
	}
@Override
	@XmlTransient
	public JSONObject toJsonObject() throws JSONException
	{
		JSONObject returnVal = super.toJsonObject();

		//Field Name...
		if(this.getFieldName() != null)
		{
			returnVal.put(JSONMapping.FIELD_NAME,this.getFieldName());
		}

		//Field Description...
		if(this.getFieldDescription() != null)
		{
			returnVal.put(JSONMapping.FIELD_DESCRIPTION,this.getFieldDescription());
		}

		//Field Value...
		if(this.getFieldValue() != null)
		{
			//Text...
			if(this.getFieldValue() instanceof String)
			{
				returnVal.put(JSONMapping.FIELD_VALUE, this.getFieldValue());
			}
			//Decimal...
			else if(this.getFieldValue() instanceof Number)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((Number)this.getFieldValue()).doubleValue());
			}
			//True False...
			else if(this.getFieldValue() instanceof Boolean)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						(Boolean)this.getFieldValue());
			}
			//Date Time...
			else if(this.getFieldValue() instanceof Date)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						this.getDateAsLongFromJson((Date)this.getFieldValue()));
			}
			//Multi Choice...
			else if(this.getFieldValue() instanceof MultiChoice)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((MultiChoice)this.getFieldValue()).toJsonObject());
			}
			//Table Field...
			else if(this.getFieldValue() instanceof TableField)
			{
				returnVal.put(JSONMapping.FIELD_VALUE,
						((TableField)this.getFieldValue()).toJsonObject());
			}
			else
			{
				returnVal.put(JSONMapping.FIELD_VALUE, this.getFieldValue());
			}
		}

		//Type...
		if(this.getFieldType() != null)
		{
			returnVal.put(JSONMapping.FIELD_TYPE, this.getFieldType());
		}

		//Type Meta Data...
		if(this.getTypeMetaData() != null)
		{
			returnVal.put(JSONMapping.TYPE_META_DATA,this.getTypeMetaData());
		}

		return returnVal;
	}
Conversion to {@code JSONObject} from Java Object.

@return {@code JSONObject} representation of {@code Field}
@throws JSONException If there is a problem with the JSON Body.

@see ABaseFluidJSONObject#toJsonObject()