NebulaStream
0.6.213
NebulaStream is a data and application management framework for the internet of things
|
#include <JSONParser.hpp>
Public Member Functions | |
JSONParser (uint64_t numberOfSchemaFields, std::vector< std::string > schemaKeys, std::vector< NES::PhysicalTypePtr > physicalTypes) | |
public constructor for JSON input data parser More... | |
bool | writeInputTupleToTupleBuffer (std::string_view jsonTuple, uint64_t tupleCount, Runtime::MemoryLayouts::TestTupleBuffer &tupleBuffer, const SchemaPtr &schema, const Runtime::BufferManagerPtr &bufferManager) override |
takes a json tuple as string, parses it using cpprest and calls Parser::writeFieldValueToTupleBuffer() for every value in the tuple More... | |
![]() | |
Parser (std::vector< PhysicalTypePtr > physicalTypes) | |
public constructor for input data parser More... | |
virtual | ~Parser ()=default |
void | writeFieldValueToTupleBuffer (std::string value, uint64_t schemaFieldIndex, Runtime::MemoryLayouts::TestTupleBuffer &tupleBuffer, const SchemaPtr &schema, uint64_t tupleCount, const Runtime::BufferManagerPtr &bufferManager) |
casts a value in string format to the correct type and writes it to the TupleBuffer More... | |
NES::JSONParser::JSONParser | ( | uint64_t | numberOfSchemaFields, |
std::vector< std::string > | schemaKeys, | ||
std::vector< NES::PhysicalTypePtr > | physicalTypes | ||
) |
public constructor for JSON input data parser
numberOfSchemaFields | number of schema fields |
schemaKeys | vector with schema keys to identify the keys in the json object |
physicalTypes | vector with physical data types |
|
overridevirtual |
takes a json tuple as string, parses it using cpprest and calls Parser::writeFieldValueToTupleBuffer() for every value in the tuple
jsonTuple | string value that is cast to the PhysicalType and written to the TupleBuffer |
tupleCount | the number of tuples already written to the current TupleBuffer |
tupleBuffer | the TupleBuffer to which the value is written containing the currently chosen memory layout |
schema | data schema |
bufferManager | the buffer manager |
Implements NES::Parser.
References NES_ERROR, NES_THROW_RUNTIME_ERROR, NES_TRACE, NES::Util::trimChar(), and NES::Parser::writeFieldValueToTupleBuffer().