javascript - 从 json 代码中删除 javascript 对象变量名称文本

标签 javascript java json

我有一个 String 变量,用于存储 JavaScript 对象的文字文本:

String jsString = "mainData = {"name":"John", "id":"12345"}"

Java 中是否有 JSON 方法(或任何方法)可以删除字符串的“mainData =”部分,以便只留下 JavaScript 数据?像这样的事情:

newString = someMethod(jsString);
JSONObject jsonObject = new JSONObject(newString); //newString = "{"name":"John", "id":"12345"}"

最佳答案

String#replaceFirst :

jsString = jsString.replaceFirst("^[^{]+", "");

Live Example

这将删除第一个 { 之前作为字符串开头的所有字符。它假设字符串包含 JSON,其中最外面的东西是一个对象(而不是数组或只是一个值),尽管可以轻松调整它以不做出该假设。例如这个版本:

jsString = jsString.replaceFirst("^\\s*[A-Za-z0-9_$]+\\s*=\\s*", "");

Live Example

删除一系列字母、数字、_$(可选地用空格包围)以及后面的 =(可能紧随其后)由空格组成,位于字符串的开头。现在,这不是有效 JavaScript 标识符字符的完整列表(该列表很长),但您明白了。

关于javascript - 从 json 代码中删除 javascript 对象变量名称文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112876/

相关文章:

javascript - 带有动画和iframe的javascript onclick

java - 在没有 CA 的情况下使用 SSL 实现 RFB

arrays - 从没有列名的 Postgres 行构建 JSON

javascript - 使用 JSON 数据动态填充下拉列表

javascript - Angular 动态 ng-模型名称

javascript - JS-列表随机化程序可以在重置之前记住并显示24小时的结果吗?

javascript - 在 JavaScript 中解析 URL

java - 无法转换按钮来启动方法

java - 将输出消息从 java 控制台重定向到 jTextArea 或 jLabel

php - 在 PHP 中执行 REST PUT