MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / serializeTextJSON

Method serializeTextJSON

src/DataTypes/Serializations/SerializationMap.cpp:344–364  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

342}
343
344void SerializationMap::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const
345{
346 if (settings.json.write_map_as_array_of_tuples)
347 {
348 nested_serialization->serializeTextJSON(extractNestedColumn(column), row_num, ostr, settings);
349 return;
350 }
351
352 serializeTextImpl(column, row_num, ostr,
353 [&settings](WriteBuffer & buf, const SerializationPtr & subcolumn_serialization, const IColumn & subcolumn, size_t pos)
354 {
355 /// We need to double-quote all keys (including integers) to produce valid JSON.
356 WriteBufferFromOwnString str_buf;
357 subcolumn_serialization->serializeText(subcolumn, pos, str_buf, settings);
358 writeJSONString(str_buf.str(), buf, settings);
359 },
360 [&settings](WriteBuffer & buf, const SerializationPtr & subcolumn_serialization, const IColumn & subcolumn, size_t pos)
361 {
362 subcolumn_serialization->serializeTextJSON(subcolumn, pos, buf, settings);
363 });
364}
365
366void SerializationMap::serializeTextJSONPretty(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings, size_t indent) const
367{

Callers 10

writeColumnMethod · 0.45
writeFieldMethod · 0.45
getBatchMethod · 0.45
writeFieldFromColumnFunction · 0.45
TESTFunction · 0.45
runForObjectColumnMethod · 0.45
createObjectWrapperMethod · 0.45
executeImplMethod · 0.45
PrintMapFunction · 0.45

Calls 4

writeJSONStringFunction · 0.85
serializeTextImplFunction · 0.70
serializeTextMethod · 0.45
strMethod · 0.45

Tested by 2

TESTFunction · 0.36
PrintMapFunction · 0.36