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

Remove the javascript object variable name text from json code

本文关键字:对象 变量名 文本 javascript 删除 json 代码      更新时间:2023-09-26

>我有一个 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("^[^{]+", "");

现场示例

这将删除第一个{之前字符串开头的任何字符。它假设字符串包含 JSON,其中最外面的东西是一个对象(而不是数组或只是一个值),尽管可以很容易地进行调整以不做出这种假设。例如,此版本:

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

现场示例

这将删除一系列字母、数字、_$,可以选择用空格包围,并在字符串的开头删除后面的=,可能后跟空格。现在,这不是有效 JavaScript 标识符字符的完整列表(该列表很长),但您明白了。