最早提到《山海经》的是司马迁,其《史记大宛列传》中说,《禹本纪》和《山海经》中的生物过于荒诞无稽,所以作史时不敢以为参考 。
最早整理《山海经》的西汉刘歆,在其《上山海经表》中认为此书是三代时所作 。他说:《山海经》这本书,产生于尧舜禹的时代……禹把天下划分成九州,益与伯翳等人区分万物的本质,写出了《山海经》刘歆这一说法是受到《列子》的影响 。《列子·汤问第五》中,夏革回答汤的疑问,提到了五座大山及山上的特产,此外还有怪异之物,这和《山海经》记载地理、特产以及怪物的写法相似 。同时,《列子》中又说这些怪物是大禹治水周行天下时亲眼见过的,他的臣子伯翳了解这些怪物,夷坚听说之后把这些怪物记了下来 。因此,这种说法就影响到刘歆以上的论断 。其后,王充《论衡·别通篇》、赵晔《吴越春秋》等都持这种观点 。
其实,这种说法是靠不住的 。理由是:其一,《山海经》中有很多地名是秦代才有的,如长沙与象郡 。卷十八《海内经》中说:“南方苍梧之丘,苍梧之渊,其中有九嶷山,舜之所葬,在长沙零陵界中 。”卷十三《海内东经》:“沅水出象郡镡城西…郁水出象郡,而西南注南海……”长沙与象郡皆为秦始皇所设置的三十六郡之一 。
其二,其中有夏启、周文王甚至春秋时代的事,如《海外西经》说夏启在大乐之野这个地方咏歌起舞 。此书既为禹时所作,怎么会记叙夏启为帝王时之事?《海外南经》说周文王葬于狄山,《大荒西经》中提到西周之国,国君姓姬,是后稷的后代,这正是历史上的西周 。《大荒北经》中说:“有北齐之国,姜姓…”这正是西周建立后由姜太公担任第一任国君的齐国 。所以清代学者皮锡瑞《经学通论·春秋》中批评说:《山海经》讲了很多商代的事,学者却以为夏禹是作者,真是荒谬 。
其三,《山海经》中有很多观念是春秋战国才有的,如卷一《南山经》说到凤凰,认为丹穴之山“有鸟焉,其状如,部五采而文,名曰风皇,首文曰德,翼文曰义,背文曰礼,膺文曰仁,腹文曰信 。是鸟也,饮食自然,自歌自舞,见则天下安宁” 。德、义、礼、仁、信绝不是上古就有的道德观念 。
总的来说,此书断非三代之作 。学者一般认为,其主要部分在先秦就已完成,其表现为
1.书中记录了许多夏商周早期的历史传说,如《海内经》中鲧腹生禹以治水、《大荒北经》中禹杀共工、《海外西经》中夏启盗窃《九辩》与《九歌》之乐等故事 。
【山海经成书时间之谜】2.《山海经》记述最为详尽、与现实误差最小的当是《中山经》,这和夏、商、周以中原地区为统治中心有关 。
3.屈原作品中有许多神话都与《山海经》所记一致,如《天问》中鲧禹治水、后羿善射、王亥朴牛、有易杀王亥、昆仑神山与黑水等,说明这些故事在战国时代已经广为流传,而《山海经》也极有可能产生于这一时代 。
4《山海经》中许多地方都提到铁,而直到春秋时代铸铁技术才被掌握 。所以张之洞《书目答问》卷一称:“《山海经》《竹书纪年》《穆天子传》三书,有伪托而多荒唐,然皆秦以前人所为 。”
《山海经》的内容还有一部分是汉初掺人的 。《朱子语类》卷一三八便以为:《山海经》中提到的很多珍禽异兽,都是记录汉家宫室墙壁上的图画;《山海经》叙述的方式经常是向南多远又什么山,或向西多远又什么山,由此可知这是看着图画来写的 。所以袁珂先生认为“它大约成书于从春秋末年到汉代初年这一长时期中”,这一论断大致是可信的 。