I've read somewhere that to say you are not good at something say for example Japanese language, you use:
but can I also use:
Is there anything wrong with this? What is the difference between the two?
じゃ is the contraction of では. It's a contraction, because じゃ is one mora (one unit length) and では is two moras long.
じゃ is frequently used as contraction of では, especially in じゃない < ではない. As pointed out before by one of our native speakers on this site (@l'électeur), じゃありません is at risk of being overused by learners. Presumably, because the uncontracted では is a more natural choice to go with the polite/formal form of ある (which is あります, of course).
(The converse doesn't hold, though: ではない is also extremely common.)
Here are the numbers from the Balanced Corpus of Contemporary Written Japanese
ではない 66121 results
じゃない 39664 results
ではありません 9910 results
じゃありません 1743 results
(Of course, these numbers are only for written Japanese.)
In any case, there is no difference in meaning between the two phrases. A remark about your choice of particle, though: You can only say 日本語は上手ではありません when you use は as the "contrast particle", i.e. when you intend to compare your Japanese skill to something else. The natural choice for a standalone statement would be が, as in
日本語が上手ではありません ／ 日本語が上手じゃありません