docs/cmdline: change to .md for cmdline docs
- switch all invidual files documenting command line options into .md,
as the documentation is now markdown-looking.
- made the parser treat 4-space indents as quotes
- switch to building the curl.1 manpage using the "mainpage.idx" file,
which lists the files to include to generate it, instead of using the
previous page-footer/headers. Also, those files are now also .md
ones, using the same format. I gave them underscore prefixes to make
them sort separately:
_NAME.md, _SYNOPSIS.md, _DESCRIPTION.md, _URL.md, _GLOBBING.md,
_VARIABLES.md, _OUTPUT.md, _PROTOCOLS.md, _PROGRESS.md, _VERSION.md,
_OPTIONS.md, _FILES.md, _ENVIRONMENT.md, _PROXYPREFIX.md,
_EXITCODES.md, _BUGS.md, _AUTHORS.md, _WWW.md, _SEEALSO.md
- updated test cases accordingly
Closes #12751
2024-01-21 06:18:43 +08:00
|
|
|
---
|
2023-01-02 20:51:48 +08:00
|
|
|
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
2022-06-14 06:12:03 +08:00
|
|
|
SPDX-License-Identifier: curl
|
2022-01-21 16:38:44 +08:00
|
|
|
Long: json
|
|
|
|
Arg: <data>
|
|
|
|
Help: HTTP POST JSON
|
|
|
|
Protocols: HTTP
|
|
|
|
Mutexed: form head upload-file
|
|
|
|
Category: http post upload
|
|
|
|
Added: 7.82.0
|
2022-10-18 16:39:43 +08:00
|
|
|
Multi: append
|
docs/cmdline: change to .md for cmdline docs
- switch all invidual files documenting command line options into .md,
as the documentation is now markdown-looking.
- made the parser treat 4-space indents as quotes
- switch to building the curl.1 manpage using the "mainpage.idx" file,
which lists the files to include to generate it, instead of using the
previous page-footer/headers. Also, those files are now also .md
ones, using the same format. I gave them underscore prefixes to make
them sort separately:
_NAME.md, _SYNOPSIS.md, _DESCRIPTION.md, _URL.md, _GLOBBING.md,
_VARIABLES.md, _OUTPUT.md, _PROTOCOLS.md, _PROGRESS.md, _VERSION.md,
_OPTIONS.md, _FILES.md, _ENVIRONMENT.md, _PROXYPREFIX.md,
_EXITCODES.md, _BUGS.md, _AUTHORS.md, _WWW.md, _SEEALSO.md
- updated test cases accordingly
Closes #12751
2024-01-21 06:18:43 +08:00
|
|
|
See-also:
|
|
|
|
- data-binary
|
|
|
|
- data-raw
|
|
|
|
Example:
|
|
|
|
- --json '{ "drink": "coffe" }' $URL
|
|
|
|
- --json '{ "drink":' --json ' "coffe" }' $URL
|
|
|
|
- --json @prepared $URL
|
|
|
|
- --json @- $URL < json.txt
|
2022-01-21 16:38:44 +08:00
|
|
|
---
|
docs/cmdline: change to .md for cmdline docs
- switch all invidual files documenting command line options into .md,
as the documentation is now markdown-looking.
- made the parser treat 4-space indents as quotes
- switch to building the curl.1 manpage using the "mainpage.idx" file,
which lists the files to include to generate it, instead of using the
previous page-footer/headers. Also, those files are now also .md
ones, using the same format. I gave them underscore prefixes to make
them sort separately:
_NAME.md, _SYNOPSIS.md, _DESCRIPTION.md, _URL.md, _GLOBBING.md,
_VARIABLES.md, _OUTPUT.md, _PROTOCOLS.md, _PROGRESS.md, _VERSION.md,
_OPTIONS.md, _FILES.md, _ENVIRONMENT.md, _PROXYPREFIX.md,
_EXITCODES.md, _BUGS.md, _AUTHORS.md, _WWW.md, _SEEALSO.md
- updated test cases accordingly
Closes #12751
2024-01-21 06:18:43 +08:00
|
|
|
|
|
|
|
# `--json`
|
|
|
|
|
2022-01-21 16:38:44 +08:00
|
|
|
Sends the specified JSON data in a POST request to the HTTP server. --json
|
|
|
|
works as a shortcut for passing on these three options:
|
|
|
|
|
docs/cmdline: change to .md for cmdline docs
- switch all invidual files documenting command line options into .md,
as the documentation is now markdown-looking.
- made the parser treat 4-space indents as quotes
- switch to building the curl.1 manpage using the "mainpage.idx" file,
which lists the files to include to generate it, instead of using the
previous page-footer/headers. Also, those files are now also .md
ones, using the same format. I gave them underscore prefixes to make
them sort separately:
_NAME.md, _SYNOPSIS.md, _DESCRIPTION.md, _URL.md, _GLOBBING.md,
_VARIABLES.md, _OUTPUT.md, _PROTOCOLS.md, _PROGRESS.md, _VERSION.md,
_OPTIONS.md, _FILES.md, _ENVIRONMENT.md, _PROXYPREFIX.md,
_EXITCODES.md, _BUGS.md, _AUTHORS.md, _WWW.md, _SEEALSO.md
- updated test cases accordingly
Closes #12751
2024-01-21 06:18:43 +08:00
|
|
|
--data [arg]
|
|
|
|
--header "Content-Type: application/json"
|
|
|
|
--header "Accept: application/json"
|
2022-01-21 16:38:44 +08:00
|
|
|
|
|
|
|
There is **no verification** that the passed in data is actual JSON or that
|
|
|
|
the syntax is correct.
|
|
|
|
|
2024-02-27 17:35:28 +08:00
|
|
|
If you start the data with the letter @, the rest should be a filename to read
|
|
|
|
the data from, or a single dash (-) if you want curl to read the data from
|
|
|
|
stdin. Posting data from a file named 'foobar' would thus be done with --json
|
|
|
|
@foobar and to instead read the data from stdin, use --json @-.
|
2022-01-21 16:38:44 +08:00
|
|
|
|
|
|
|
If this option is used more than once on the same command line, the additional
|
2023-09-08 20:32:29 +08:00
|
|
|
data pieces are concatenated to the previous before sending.
|
2022-01-21 16:38:44 +08:00
|
|
|
|
2022-03-08 02:30:23 +08:00
|
|
|
The headers this option sets can be overridden with --header as usual.
|