I'm less familiar with JSON API, but at first glance it looks like a standard around JSON response bodies for APIs.
Swagger's standard API definition is external of your actual API responses and is used primarily for API docs and can be used for auto generating API client libraries/SDKs.
Is this a competing standard? I'm getting fairly nervous about the rise of competing "standards" with APIs.