Java在输入字符串中传递\ - Java Graphql Json

Posted

技术标签:

【中文标题】Java在输入字符串中传递\\ - Java Graphql Json【英文标题】:Java pass \ in the input String - Java Graphql JsonJava在输入字符串中传递\ - Java Graphql Json 【发布时间】:2021-10-14 00:44:21 【问题描述】:

我有一个突变查询要传递给 aappsync graphql 查询,如下所示,它应该从 Java 客户端代码传递


    "query": "mutation UpdateUsersetUserInformationAdmin(information: UserName:\"testUser20SK\",Email:\"testUser20SK@lb.de\",Enabled:true,SecurityHintEnabled:true,Api:\"Default\")",
    "variables": null,
    "operationsName": null

这里的问题是输入字符串在传递给查询时应该采用“testUser20SK”格式。

但是当我以例如格式输入时:

queryBuilder.append("\"query\":\"mutation UpdateUsersetUser(information: UserName:\""+userInformation.getUserName()+"\"");

它将输入发送为UserName:"testUser20SK"

只有当输入作为 UserName:\"testUser20SK\"

传递时,查询才有效

有没有办法在 Java 代码中以 UserName:\"testUser20SK\" 格式而不是 UserName:"testUser20SK" 格式传递输入。

在写这个问题时,我一直在挣扎,因为 \ 没有正确显示。

【问题讨论】:

在引号前放置三个反斜杠而不是一个。双反斜杠转换为反斜杠,第三个反斜杠是您已经拥有的反斜杠,它引用引号。 是的。作品。实际上我在过去的 5 个小时里都在尝试它,但它只有在我在这里发布问题后才起作用。 【参考方案1】:

以适合我的格式传递输入

 queryBuilder.append("\"query\":\"mutation UpdateUsersetUserInformation(information: UserName:\\\""+userInformation.getUserName()+"\\\"");

【讨论】:

以上是关于Java在输入字符串中传递\ - Java Graphql Json的主要内容,如果未能解决你的问题,请参考以下文章

可以在 Java 的正则表达式量词中传递引用吗?

java.lang.NoClassDefFoundError: org/junit/platform/commons/util/ClassNamePatternFilterUtils 尝试使用 gra

在浏览器中调用 Java 方法

JNI维数组:将二维数组从java传递给c

Java:以 XML 或 JSON 格式请求正文而不使用字符串

在Java中通过引用传递字符串?