|
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... | |
Public Member Functions inherited from NES::Parser | |
| 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().