Package adams.data.conversion
Class JsonToSpreadSheet
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.conversion.AbstractConversion
-
- adams.data.conversion.JsonToSpreadSheet
-
- All Implemented Interfaces:
AdditionalInformationHandler,CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,ShallowCopySupporter<AbstractConversion>,SizeOfHandler,Stoppable,Conversion,Serializable
public class JsonToSpreadSheet extends AbstractConversion
Turns a JSON object into a spreadsheet, essentially flattening it.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-prefix <java.lang.String> (property: prefix) The prefix to use for the generated columns. default:
-left-pad <boolean> (property: leftPad) If enabled, the index in the arrays gets left-padded with zeroes. default: false
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_LeftPadwhether to left-pad the index of arrays with 0s.protected Stringm_Prefixthe prefix to use for the column names.-
Fields inherited from class adams.data.conversion.AbstractConversion
m_Input, m_Output, m_Owner, m_Stopped
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description JsonToSpreadSheet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Classaccepts()Returns the class that is accepted as input.voiddefineOptions()Adds options to the internal list of options.protected ObjectdoConvert()Performs the actual conversion.protected voidflatten(String path, net.minidev.json.JSONArray json, SpreadSheet sheet, Row header)Flattens the JSON object.protected voidflatten(String path, net.minidev.json.JSONObject json, SpreadSheet sheet, Row header)Flattens the JSON object.Classgenerates()Returns the class that is generated as output.booleangetLeftPad()Returns whether the array indices get left-padded with zeroes.StringgetPrefix()Returns the prefix to use for the columns.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.StringglobalInfo()Returns a string describing the object.StringleftPadTipText()Returns the tip text for this property.StringprefixTipText()Returns the tip text for this property.voidsetLeftPad(boolean value)Sets whether to left-pad the array indices with zeroes.voidsetPrefix(String value)Sets the prefix to use for the columns.-
Methods inherited from class adams.data.conversion.AbstractConversion
checkData, cleanUp, convert, getAdditionalInformation, getInput, getInput, getOutput, getOutput, getOwner, reset, setInput, setOwner, shallowCopy, shallowCopy, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Field Detail
-
m_Prefix
protected String m_Prefix
the prefix to use for the column names.
-
m_LeftPad
protected boolean m_LeftPad
whether to left-pad the index of arrays with 0s.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractOptionHandler
-
setPrefix
public void setPrefix(String value)
Sets the prefix to use for the columns.- Parameters:
value- the prefix
-
getPrefix
public String getPrefix()
Returns the prefix to use for the columns.- Returns:
- the prefix
-
prefixTipText
public String prefixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLeftPad
public void setLeftPad(boolean value)
Sets whether to left-pad the array indices with zeroes.- Parameters:
value- true if to pad
-
getLeftPad
public boolean getLeftPad()
Returns whether the array indices get left-padded with zeroes.- Returns:
- true if to pad
-
leftPadTipText
public String leftPadTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin classAbstractConversion- Returns:
- null if no info available, otherwise short string
-
accepts
public Class accepts()
Returns the class that is accepted as input.- Specified by:
acceptsin interfaceConversion- Specified by:
acceptsin classAbstractConversion- Returns:
- the class
-
generates
public Class generates()
Returns the class that is generated as output.- Specified by:
generatesin interfaceConversion- Specified by:
generatesin classAbstractConversion- Returns:
- the class
-
flatten
protected void flatten(String path, net.minidev.json.JSONArray json, SpreadSheet sheet, Row header)
Flattens the JSON object.- Parameters:
json- the array to flattenpath- the current pathsheet- the sheet to add it toheader- the header row
-
flatten
protected void flatten(String path, net.minidev.json.JSONObject json, SpreadSheet sheet, Row header)
Flattens the JSON object.- Parameters:
json- the object to flattenpath- the current pathsheet- the sheet to add it toheader- the header row
-
doConvert
protected Object doConvert() throws Exception
Performs the actual conversion.- Specified by:
doConvertin classAbstractConversion- Returns:
- the converted data
- Throws:
Exception- if something goes wrong with the conversion
-
-