A little late but, Tewfik: surround your message body with single quotes. Example:
Fails: $ curl -s -k -u admin:admin -H "Accept: application/json" -H "Content-type: application/json" -X POST -d "{"name":"cw_test2","address":"10.10.10.4/8","vlan":"internal2"}" https://172.24.130.88/mgmt/tm/net/self
Output:
{"code":400,"message":"Found invalid JSON body in the request.","errorStack":[]}
Succeeds: $ curl -s -k -u admin:admin -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"name":"cw_test4","address":"10.10.10.5/8","vlan":"internal2"}' https://172.24.130.88/mgmt/tm/net/self
Output:
{"kind":"tm:net:self:selfstate","name":"cw_test4","fullPath":"cw_test4","generation":1106,"selfLink":"https://localhost/mgmt/tm/net/self/cw_test4?ver=11.5.0","address":"10.10.10.5/8","floating":"disabled","inheritedTrafficGroup":"false","trafficGroup":"/Common/traffic-group-local-only","unit":0,"vlan":"/Common/internal2"}