如何在客户端生成JSON

2024-01-02

在项目中,我必须将复杂的 JSON 命令从服务器发送到客户端。生成 JSONObjects(字符串、数字等)将它们转换为字符串然后通过 RequestBuilder 发送它们是否有效,或者是否有更有效的方法。

将 JSON 对象转换为字符串是否有效(通过对象上的 .toString 方法)

代码示例:

    JSONObject retObject = new JSONObject();
    retObject.put("NumberVar", new JSONNumber(1));
    retObject.put("StringVar", new JSONString("HelloWorld"));

    JSONArray arrayVar= new JSONArray();
    for (int i = 0; i < 5; i++) {
        arrayVar.set(i,
                new JSONString("Array"));
    }
    retObject.put("EventParameters", arrayVar);

    System.out.println(retObject.toString());

Output:

{"NumberVar":1, "StringVar":"HelloWorld", "EventParameters":["Array","Array","Array","Array","Array"]}

问候, 斯特凡


您拥有的解决方案将会起作用。

如果你想更有效地做到这一点,并且你只想支持现代浏览器JSON.stringify(),你可以在JavaScriptObjects代替JSONObjects并使用这个本机方法:

private static native String stringify(JavaScriptObject jso) /*-{
  return JSON.stringify(jso);
}-*/;

或者,您可以通过执行以下操作对 JSO 进行字符串化:

String json = new JSONObject(jso).toString();

JavaScriptObjects 更高效,因为它们在最终编译的代码中表示为 JS 对象,而JSONObjects 被表示为模拟的 Java 对象。第二种解决方案意味着构建 JSO 时的开销较小,但在对其进行字符串化时相对较多(比第一个解决方案)。

不过,您的解决方案会很好地工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在客户端生成JSON 的相关文章

  • 由于 json 字符串化 dict 键导致数据丢失

    考虑下面的例子 gt gt gt import json gt gt gt d 0 potato 0 spud gt gt gt json dumps d 0 potato 0 spud gt gt gt json loads json d
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • JSON 转换带有整数键的 Map

    我有一个测试代码的小样本 我尝试将 Map 转换为 JSON 字符串并返回 在解析 JSON 字符串时 结果映射包含字符串键 1 而不是整数键 1 从而导致测试失败 用作此映射的键的 POJO 也会发生同样的情况 这是预期行为还是我省略了
  • 如何从 BindingResult 获取控制器中的错误文本?

    我有一个返回 JSON 的控制器 它采用一种形式 通过 spring 注释来验证自身 我可以得到FieldError列表来自BindingResult 但它们不包含 JSP 将在
  • 检索 Steam 市场上物品的价格历史记录

    关于 Steam 市场上的物品 我想知道是否有办法检索某物品在一段时间内的价格历史记录 我知道 Steam 为想要将市场特定数据集成到自己网站中的开发人员提供了一个特殊的 api 但我还没有找到任何有关以 json 形式检索商品价格历史记录
  • Jackson 的 ObjectMapper 和 SQL 中的 RowMapper

    我们正在使用对象映射器 当将 ObjectMapper 与 RowMapper 一起使用时 是否应该在每个 mapRow 内部 如下所示 声明它 还是在 mapRow 外部声明为类公共成员 我认为根据本文 它应该作为公共类成员在外部 我应该
  • 使用 Jackson 删除 JSON 元素

    我有一个特定的 JSON 节点 对应于 import org codehaus jackson JsonNode 而不是 导入 org codehaus jackson map JsonNode givenName Jim formatte
  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 反序列化动态 JSON 文件 C# NewtonSoft.JSON

    正在反序列化一个动态 JSON 文件 该文件可能包含 2 个单独的类 我不知道数组中将包含哪种类型的数据 问题是 我将根对象反序列化为 Base 类型 subtests 对象被反序列化为 Subtest 但 subtests 数组可能是 B
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 将新属性动态添加到 Node 中现有的 JSON 数组中

    我需要添加当前 JSON 中不存在的属性 json 对象如下所示 var jsonObj result OK data 我想在 数据 中添加温度 我可以像下面那样做 jsonObj data push temperature 然后 我想在
  • POST 表单数据为 application/json

    我正在开发一个 API 它接收 application json post 请求 并触发一些流程 我目前的主要问题是发送一个 application json 帖子 其中包含来自输 入表单的数据 我已经尝试过 jQuery ajax 但由于
  • 如何从 GWT 的序列化策略中删除实现类型?

    这个问题的反面是 如何将类型添加到 GWT 的序列化策略白名单 https stackoverflow com questions 138099 how do i add a type to gwts serialization polic
  • 如何使用Nodejs将json数据导出为指定格式的pdf文件?

    我是nodejs的初学者 我正在编写一个程序 将文本数据从 json 文件转换为 pdf 文件 这是我的输入文件 input json Info Company ABC Team JsonNode Number of members 4 T
  • 使用 json.js 字符串化多维数组时出现问题

    我有以下问题 stringify 但我认为我的 JavaScript 数组一定是错误的 这是我的代码 var questions new Array Valid hover function for i 0 i lt Questions l
  • 循环遍历 JSON 数组

    我最近发布了另一个问题 用户立即为我指明了正确的方向 ajax type POST url data token token re 8 cache false timeout 5000 success function html auth
  • AWS Lambda - Nodejs 函数不会返回数据

    我是 NodeJS 函数调用的新手 我已经在屏幕上敲了几个小时了 我所有的谷歌搜索都没有帮助 所以我有一个 AWS Lambda 函数 它接收一个带有单个 ID 号的 JSON 对象 该 ID 号将被传递并最终作为 myid 发送到 get
  • 如何使用 jq 和 Bash 将 JSON 展平为 Key=Selector 的 Bash 关联数组?

    作为后续展平任意 JSON https stackoverflow com questions 42299905 using jq flatten arbitrary json to delimiter separated flat dic
  • 在 Angular 4 中显示订阅数据

    我需要帮助来显示 Angular 4 中 api 订阅的输出 既然我写了 data data data 但它说类型对象上不存在属性数据 我该怎么做呢 我如何在浏览器中输出它 下面是我的代码和api图片 import Component On

随机推荐

  • asp.net core中间件中Map和MapWhen分支的区别?

    当我们验证请求时 何时在 asp net core 中间件中使用 Map 和 MapWhen 分支 public void Configure IApplicationBuilder app IHostingEnvironment env
  • “.el”与 JavaScript/HTML/jQuery 有何关系?

    我在谷歌搜索中找不到太多东西 但我可能谷歌搜索了错误的术语 我试图从这里理解 el 中的 el 是什么 http joestelmach github com laconic http joestelmach github com laco
  • 如何使用 Mono.WebBrowser?

    我将此页读了两遍http www mono project com WebBrowser http www mono project com WebBrowser但我不知道如何使用它 没有程序集 我也无法打字using Mono WebBr
  • 默认 nginx client_max_body_size

    我一直收到 nginx 错误 413 Request Entity Too Large 我已经能够更新我的client max body size在我的 nginx conf 文件的服务器部分中将其大小更改为 20M 这已经解决了问题 但是
  • 如何为 postgresql 配置 HikariCP?

    我正在尝试在 postgresql 中使用 HikariCP 但在任何地方都找不到 postgresql 的配置 请给我指出带有 HikariCP 的 postgresql 的任何示例或任何相同的配置教程 我尝试像下面那样使用它 但它不起作
  • 创建docx word文档 web api .net core 2.0

    我正在Asp net core 2 0中开发一个Web API项目 我需要一个库或方法来创建 Word 文档 我搜索了一个尝试过的 NPOI 和 DocX 两者都没有想象中那么好 有人能给我推荐一个工具吗 乍一看 以下链接可以有所帮助 ht
  • 如何在 Go 中使用 RSA 密钥加密和解密纯文本?

    我正在尝试编写一个实用程序 使用 RSA 密钥对加密和解密纯文本文件 RSA 密钥是使用 ssh keygen 生成的 并像往常一样存储在 ssh 中 我无法理解如何使用 Go 语言 crypto 和 crypto rsa 包来做到这一点
  • MySQL 缓存和日期函数

    我曾经在性能博客中读到 最好使用 PHP 的日期函数在 MySQL 查询中设置日期 而不是使用像 curdate 这样的 mysql 日期函数 因为 mysql 可以缓存查询或结果或类似的东西 有人对此有任何见解吗 它有水分还是毫无根据 e
  • R-plotly-结合气泡和等值线图

    我想以情节方式将两种类型的地图组合在一张地图中 即气泡图和分区统计图 目标是通过将鼠标悬停在地图上来显示国家级别 分区统计图 以及城市级别 气泡 的人口规模 分区统计图的绘图示例代码如下 library plotly df lt read
  • 'Room' 类是抽象的;无法实例化

    我有一个抽象类Room它有子类Family and Standard 我创造了room new ArrayList
  • 2 Kubernetes pod 在不知道暴露地址的情况下进行通信

    我计划部署 2 个带有 NodePort 服务的 kubernetes pod 将它们暴露到网络中 现在我希望 pod 1 能够通过他的服务访问 pod 2 问题是我编写部署文件 但我不知道 pod 2 将从集群获取的 IP 地址 但我需要
  • WPF:使用虚拟键盘

    我创建了一个虚拟键盘用户控件 可以在应用程序中跨多个窗口使用 我想知道当按下某个键时如何将其输入到窗口中的文本框中 我正在寻找的是这样的 private void keyboardKey Click object sender Routed
  • Angular2 - 将文本框聚焦于组件加载

    我正在 Angular2 Beta 8 中开发一个组件 该组件有一个文本框和一个下拉列表 我想在组件加载或下拉列表更改事件后立即将焦点设置在文本框中 我如何在 Angular2 中实现这一点 以下是该组件的 Html div div
  • TypeError:使用 tf.map_fn 和 keras 功能模型时无法为

    当我尝试在 keras 功能模型的定义中使用 tf map fn 时 出现错误 TypeError Could not build a TypeSpec for
  • 如何使用 AngularJS 在过滤速度慢时显示某些内容

    在 Angular 中 我有一个表格和一个搜索框 用户可以在其中键入内容 Angular 将在数据中搜索并显示表格 问题是我有足够的数据 过滤可能会减慢 在这种情况下 我想显示一个微调器 类似于我的 html 的示例 Search
  • Delphi 同步滚动组件

    我正在尝试同步 VCL Forms 应用程序中两个 TDBGrid 组件的滚动 但在没有堆栈问题的情况下拦截每个网格组件的 WndProc 时遇到困难 我尝试在滚动事件下发送 WM VSCROLL 消息 但这仍然导致错误的操作 它需要用于单
  • 如何禁用 UIPickerView (Swift)?

    我想禁用 UIPickerView 但将其设置为 isEnabled false 不起作用 不 我不想在使用视图时禁用它 而是无法滚动视图 直到完成某个操作才能重新启用它 我在这里尝试的代码不起作用 它甚至可能不是快速代码 如何禁用 UIP
  • 尝试理解 Ember JS 的承诺

    我一直在尝试编写一个代码示例来理解承诺 但我似乎无法弄清楚如何处理回调并稍后获取 thenable 值 以下是我正在研究的两个相关 JSBin 示例 以冗长的风格编写 以模仿烘焙饼干 没有异步的 Ember JS http jsbin co
  • 如何使用 jQuery 默认预加载所有选项卡

    如果我有 4 个选项卡 其中前 2 个使用 ajax 加载 后 2 个是静态的 那么默认情况下如何预加载 2 个 ajax 选项卡 目前 只有第一个选项卡会自动加载 第二个选项卡会在单击时加载 我希望它们都被加载 这样当我单击第二个时 内容
  • 如何在客户端生成JSON

    在项目中 我必须将复杂的 JSON 命令从服务器发送到客户端 生成 JSONObjects 字符串 数字等 将它们转换为字符串然后通过 RequestBuilder 发送它们是否有效 或者是否有更有效的方法 将 JSON 对象转换为字符串是