An 8x8 boolean matrix is very wasteful of memory when you could do the same thing in an 8 byte matrix. An advantage of using the byte matrix is it would be ready to pass directly to setRow(). All you need is a function or two to set/read bits and they come in the form of bitSet/bitRead as Paul eluded to.
Find and replace 'true' with '1'.
Find and replace 'false' with '0'.
Find and replace ',' with '' (null).
Find and replace ' ' (space) with '' (null).
Find and replace '{' with 'B' (or '0b' if you want C style instead of Arduino style).
Find and replace '}' with ','.
A few minor manual tweaks and your huge arrays of booleans (probably 64 bytes each) are now 8-byte arrays of binary.
That's probably the best way to do it on a microcontroller, just work with bytes and bits from the outset. Much lower memory usage.
If however you do need to change the matrix of boolean into bytes, then the simple code below works fine (example showing converting just one row).
bool ab[8] = {true,false,false,true,false,false,true,true}; // for example
byte b=0;
for (byte k=0; k<8; k++) {
b <<= 1;
b |= ab[k];
} // b is now 0x93