Java 如何在浏览器url中直接发送json对象?

Java 如何在浏览器url中直接发送json对象?,java,Java,我们的客户机将根据我想要更新数据库的数据,在servlet上使用json对象发送请求 json对象如下所示: {"person":{"employment":{"id":"123","department":"developer","Company":"XYZ","sal":"10000"},"fName":"ABC","mName":"PQR","lName":"XYZ","email":"asd@asd.com","address":"mumbai west"} 我想通过直接在浏览器url

我们的客户机将根据我想要更新数据库的数据,在servlet上使用json对象发送请求

json对象如下所示:

{"person":{"employment":{"id":"123","department":"developer","Company":"XYZ","sal":"10000"},"fName":"ABC","mName":"PQR","lName":"XYZ","email":"asd@asd.com","address":"mumbai west"}
我想通过直接在浏览器url上发送json对象来测试这一点,该url包含256个字符以上

我试过:-

https://integration.com/details/Notification?req={"person":{"employment":{"id":"123","department":"developer","Company":"XYZ","sal":"10000"},"fName":"ABC","mName":"PQR","lName":"XYZ","email":"asd@asd.com","address":"mumbai west"}
但这给了我以下例外:

org.codehaus.jackson.JsonParseException:意外字符“o”代码111:应为有效的数值、字符串、数组、对象、“true”、“false”或“null” 在[来源:java.io。StringReader@3e3a5a9c;行:1,列:2] 位于org.codehaus.jackson.JsonParser.\u constructErrorJsonParser.java:1433 位于org.codehaus.jackson.impl.JsonParserMinimalBase.\u reportErrorJsonParserMinimalBase.java:521 位于org.codehaus.jackson.impl.JsonParserMinimalBase.\u reportUnexpectedCharJsonParserMinimalBase.java:442 位于org.codehaus.jackson.impl.ReaderBasedParser.\u handleUnexpectedValueReaderBasedParser.java:1198 位于org.codehaus.jackson.impl.ReaderBasedParser.nextTokenReaderBasedParser.java:485 位于org.codehaus.jackson.map.ObjectMapper.\u initForReadingObjectMapper.java:2770 位于org.codehaus.jackson.map.ObjectMapper.\u readMapAndCloseObjectMapper.java:2718 位于org.codehaus.jackson.map.ObjectMapper.readValueObjectMapper.java:1863 在付款时.EmaxCBNotification.doServiceEmaxCBNotification.java:72 在付款时.EmaxCBNotification.doGetEmaxCBNotification.java:42 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:617 位于javax.servlet.http.HttpServlet.serviceHttpServlet.java:723 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:290 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:206 在com.directi.pg.filters.ESAPITransactionFilter.doFilterESAPITransactionFilter.java:276 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:235 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:206 位于com.directi.pg.filters.UTF8Filter.doFilterUTF8Filter.java:31 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:235 位于org.apache.catalina.core.ApplicationFilterChain.doFilterApplicationFilterChain.java:206 位于org.apache.catalina.core.StandardWrapperValve.invokeStandardWrapperValve.java:233 位于org.apache.catalina.core.StandardContextValve.invokeStandardContextValve.java:191 位于org.apache.catalina.authenticator.AuthenticatorBase.invokeAuthenticatorBase.java:470 位于org.apache.catalina.core.StandardHostValve.invokeStandardHostValve.java:127 在org.apache.catalina.valves.ErrorReportValve.InvokeerErrorReportValve.java:103 位于org.apache.catalina.core.StandardEngineValve.InvokeStandardenginievalve.java:109 位于org.apache.catalina.connector.CoyoteAdapter.serviceCoyoteAdapter.java:293 http://www.org.apache.coyote.http11.Http11Processor.processHttp11Processor.java:861 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processHttp11Protocol.java:606 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.runJIoEndpoint.java:489 java:662

请帮帮我


我是否应该使用HTTP POST请求,它将在浏览器上以上述定义的格式命中url

使用GET检索数据,使用PUT替换更新数据。永远不要使用GET更新数据-永远不要


如果使用POST更新数据,可以使用CURL发布请求和测试

   curl -v -H "Content-Type: application/json" -X POST \
    -d '{"name":"your name","phonenumber":"111-111"}' 
   URL
这张照片贴得很好
是的,您当然可以在URL查询字符串中传递JSON。您只需首先对JSON字符串进行URL编码。正如@dmn所说,由于GET的大小限制,数据可能最好通过POST传递。

这是他们正在进行的RESTful API调用吗?这些调用是否带有任何参数?在URL中使用超过256个字符?您使用的是什么编码?亲爱的ha9u63ar该url未使用任何加密技术进行加密。亲爱的Paul谢谢您的回复,我这样做是为了更新数据库。。是的,随参数一起打电话。。在浏览器中发送json对象时,我遇到了一个问题。您好,SRV-那么您是否正在尝试通过发送json消息体发出浏览器请求?不可能通过浏览器请求发送消息体。您可以发送请求参数。我可以使用像下面这样的请求吗?https://integration.com/details/Notification?req={人员:{职务:{id:123,部门:开发商,公司:XYZ,sal:10000},fName:ABC,mName:PQR,lName:XYZ,电子邮件:asd@asd.com,address:mumbai west}因为我想从url中的json请求中读取值 然后尝试同样的请求。请记住,在这种情况下,您将值作为请求参数或查询参数传递。