我有一个 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"}"
最佳答案
jsString = jsString.replaceFirst("^[^{]+", "");
这将删除第一个 {
之前作为字符串开头的所有字符。它假设字符串包含 JSON,其中最外面的东西是一个对象(而不是数组或只是一个值),尽管可以轻松调整它以不做出该假设。例如这个版本:
jsString = jsString.replaceFirst("^\\s*[A-Za-z0-9_$]+\\s*=\\s*", "");
删除一系列字母、数字、_
或 $
(可选地用空格包围)以及后面的 =
(可能紧随其后)由空格组成,位于字符串的开头。现在,这不是有效 JavaScript 标识符字符的完整列表(该列表很长),但您明白了。
关于javascript - 从 json 代码中删除 javascript 对象变量名称文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112876/