Alexander,

You should only need to change your line with `JSON.toString(root)` to `new
JSON().toJSON(root)`.

As for the deprecated header() method, it says in the javadoc to use the
`headers(Consumer<HttpFields.Mutable>)` method instead.
So would look something like this:

HttpClient httpClient = new HttpClient();
httpClient.POST(uri)
    .headers(httpFields ->
    {
        httpFields.add(new HttpField(HttpHeader.ACCEPT, APPLICATION_JSON));
        httpFields.add(new HttpField(HttpHeader.CONTENT_TYPE,
APPLICATION_URLENCODED));
    })
    .body(new StringRequestContent("content"))
    .send().getContentAsString();

Cheers,
Lachlan



On Wed, Sep 1, 2021 at 11:43 PM Alexander Farber <alexander.far...@gmail.com>
wrote:

> Hi Joakim and all -
>
> On Tue, Aug 31, 2021 at 6:19 PM Joakim Erdfelt <joa...@webtide.com> wrote:
>
>> With that said, you appear to be using the Jetty implementation/apis.
>> So, switch to `org.eclipse.jetty.websocket.server.JettyWebSocketServlet`
>> instead.
>>
>
>
>> JSON json = new JSON();
>> // configure json here
>> Map<String, String> myMap = (Map<String, String>) json.fromJSON(str);
>>
>
> thank you for the helpful tips on JSON parsing.
>
> Could you please help me with creating JSON?
>
> In Jetty 9.4.x I had this method:
>
>     // this string is POSTed to Google FCM server
>     public String toFcmBody(String boardUrl, String gameNumber) {
>         Map<String, Object> root  = new HashMap<>();
>         Map<String, Object> notif = new HashMap<>();
>         Map<String, Object> data  = new HashMap<>();
>         root.put(KEY_TO, mFcm);
>         root.put(KEY_NOTIFICATION, notif);
>         root.put(KEY_DATA, data);
>         notif.put(KEY_TITLE, gameNumber + " " + mGid);
>         notif.put(KEY_BODY, mBody);
>         notif.put(KEY_IMAGE, boardUrl + mGid);
>         data.put(KEY_GID, mGid);
>         return JSON.toString(root);
>     }
>
> So now I am trying the following, but what to use as the first param to
> appendMap()?
>
>     // this string is POSTed to Google FCM server
>     public String toFcmBody(String boardUrl, String gameNumber) {
>         Map<String, Object> root  = new HashMap<>();
>         Map<String, Object> notif = new HashMap<>();
>         Map<String, Object> data  = new HashMap<>();
>         root.put(KEY_TO, mFcm);
>         root.put(KEY_NOTIFICATION, notif);
>         root.put(KEY_DATA, data);
>         notif.put(KEY_TITLE, gameNumber + " " + mGid);
>         notif.put(KEY_BODY, mBody);
>         notif.put(KEY_IMAGE, boardUrl + mGid);
>         data.put(KEY_GID, mGid);
>         // new code
>         JSON json = new JSON();
>         json.appendMap(???, root);
>         return json.toString();
>     }
>
> And also Jetty 10 is not happy with the deprecated header() method here:
>
>             MultiMap<String> postParams = new MultiMap<>();
>             postParams.put("code",          code);
>             postParams.put("client_id",
>  mBundle.getString(STR_GOOGLE_ID));
>             postParams.put("client_secret",
> mBundle.getString(STR_GOOGLE_SECRET));
>             postParams.put("redirect_uri",
> String.format(GOOGLE_REDIRECT_URI, mLanguage));
>             postParams.put("grant_type",    "authorization_code");
>
>             String tokenStr = mHttpClient.POST(GOOGLE_TOKEN_URL)
>                 .header(HttpHeader.ACCEPT, APPLICATION_JSON)
>          // what to use here please?
>                 .header(HttpHeader.CONTENT_TYPE, APPLICATION_URLENCODED)
>                 .content(new
> StringContentProvider(UrlEncoded.encode(postParams, StandardCharsets.UTF_8,
> false)))
>                 .send().getContentAsString();
>                 Map<String, String> tokenMap = (Map<String, String>)
> mJson.fromJSON(tokenStr);
>
> Best regards
> Alex
> _______________________________________________
> jetty-users mailing list
> jetty-users@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
jetty-users@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/jetty-users

Reply via email to