private boolean setFields(Matcher matcher, TableMessage message) {
    List<String> fields = new ArrayList<>();
    List<TSDataType> dataTypes = new ArrayList<>();
    List<Object> values = new ArrayList<>();
    String fieldsGroup = matcher.group(FIELDS);
    if (fieldsGroup != null && !fieldsGroup.isEmpty()) {
      String[] fieldPairs = fieldsGroup.split(COMMA);
      for (String fieldPair : fieldPairs) {
        if (!fieldPair.isEmpty()) {
          String[] keyValue = fieldPair.split(EQUAL);
          if (keyValue.length == 2 && !NULL.equals(keyValue[1])) {
            fields.add(keyValue[0]);
            Pair<TSDataType, Object> typeAndValue = analyticValue(keyValue[1]);
            values.add(typeAndValue.getRight());
            dataTypes.add(typeAndValue.getLeft());
          }
        }
      }
    }
    if (!fields.isEmpty() && !values.isEmpty() && fields.size() == values.size()) {
      message.setFields(fields);
      message.setDataTypes(dataTypes);
      message.setValues(values);
      return true;
    } else {
      return false;
    }
  }
The Line payload formatter. myTable,tag1=value1,tag2=value2 attr1=value1,attr2=value2
fieldKey="fieldValue" 1740109006000 \n myTable,tag1=value1,tag2=value2 fieldKey="fieldValue"
1740109006000
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/LinePayloadFormatter.java