refactor book json struct