Nach der Matura 1971 studierte Johannes Ditz Volkswirtschaftslehre an der Wirtschaftsuniversität Wien. Er promovierte 1978 zum Doktor der Sozial- und Wirtschaftswissenschaften mit dem Dissertationsthema „Die österreichische Budgetpolitik von 1965 bis 1975“.
Von 1978 bis 1979 war er bei der Industriellenvereinigung beschäftigt. Ab 1979 arbeitete er im Referat für Wirtschaftsfragen der ÖVP-Bundesparteileitung. Im Jänner 1987 wurde er Staatssekretär für Finanzen unter FinanzministerFerdinand Lacina. Im März 1988 trat er wegen Differenzen mit dem damaligen ÖVP-Bundesparteiobmann Alois Mock von diesem Amt zurück und wurde Abgeordneter zum Nationalrat. Während dieser Zeit übernahm Ditz auch die Leitung des ÖVP-Wirtschaftsbundes in der Wirtschaftskammer Österreich. Von April 1989 bis Jänner 1993 war er dessen Geschäftsführender Generalsekretär. Im Nationalrat blieb Ditz vorerst bis 1993, im Oktober 1991 übernahm er erneut das Staatssekretariat im Finanzministerium und blieb bis zum Mai 1995 in diesem Amt. Kurze Perioden als Nationalratsabgeordneter folgten von November bis Dezember 1994 sowie zwei Jahre später, von Jänner bis März 1996.
Im August desselben Jahres wechselte er in die Privatwirtschaft und wurde Finanzvorstand der Holding Post und Telekom Austria sowie Generaldirektor-Stellvertreter der Post und Telekom AG. 1999 wurden er und Rudolf Streicher zum ÖIAG-Vorstand bestellt. Im Herbst 2003 wurde Ditz von der damaligen steirischen Landeshauptfrau Waltraud Klasnic zum Aufsichtsratschef der ESTAG bestellt und war im Jahr 2004 kurzzeitig deren Interimsvorstand. Ende November 2005 wurde Franz Voves (SPÖ) neuer Landeshauptmann der Steiermark. Aufgrund dieses Machtwechsels erklärte Ditz seinen Rücktritt als Aufsichtsratschef.
Im Februar 2006 war er für einen Monat Vorstandsvorsitzender der A-Tec Industries AG von Mirko Kovats, bevor dieser wieder selbst das Ruder übernahm.
Im September 2006 kehrte er wieder in die Politik zurück. Im Personenkomitee „Wien für Schüssel“ unterstützte er Bundeskanzler Wolfgang Schüssel im Wahlkampf für die Nationalratswahl 2006.
Im Jänner 2010 wurde Ditz zum Aufsichtsratsvorsitzenden der notverstaatlichtenden Hypo Group Alpe Adria bestellt.[1]