First of all, which version of 0 A.D. are you using, the latest stable (A23) or the svn development version (A24)? If you take files from a A24 mod and apply them on A23, or vice versa, you're very likely to encounter errors. It's best to disable all other mods and take files directly from the default (public) game. You can browse the latest stable files at https://github.com/0ad/0ad/tree/eb2fc5c53d0c55de308be6dc5bb7f952cfbc210d/binaries/data/mods/public and files of the svn development version at https://trac.wildfiregames.com/browser/ps/trunk/binaries/data/mods/public .
To introduce a new civilization, you need to add a simulation/data/civs/{civ}.json file, yes. You can copy one from elsewhere and edit it, or write a new one from scratch. Open the file in a text editor. The crucial thing is the civ code (line 2), e.g.
"Code": "athen",
This should match the file name (hence athen.json), is used for civ-bonuses and technologies (under simulation/data/technologies), and entity templates (under simulation/templates). Now if view the rest of your {civ}.json file, you'll see many fields (e.g. "Emblem", "Music", "WallSets", "StartEntities", "Formations", SkirmishReplacements") include file names. Make sure those files actually exist, and verify they're correct! Otherwise you will get errors.
You also might want to have a look at https://wildfiregames.com/forum/topic/21083-how-to-modify-0-ad/ , a thread containing a lot of questions and answers about modifying the game.