Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在没有外部库的情况下格式化类似JSON的字符串_Java - Fatal编程技术网

Java 在没有外部库的情况下格式化类似JSON的字符串

Java 在没有外部库的情况下格式化类似JSON的字符串,java,Java,如何格式化此字符串以获得“gs”值 我已经研究了许多关于堆栈溢出的类似问题,但是,大多数建议使用外部库。我不想使用外部库,因为我将其用于libgdx,而外部库只会产生不必要的复杂情况。如果您明确知道您正在查找“gs”之后的值,那么您可以简单地执行以下操作: // String input = [string in your question]; input = input.substring(input.indexOf("\"gs\"") + "\"gs\"".length()); // we

如何格式化此字符串以获得“gs”值


我已经研究了许多关于堆栈溢出的类似问题,但是,大多数建议使用外部库。我不想使用外部库,因为我将其用于libgdx,而外部库只会产生不必要的复杂情况。

如果您明确知道您正在查找
“gs”
之后的值,那么您可以简单地执行以下操作:

// String input = [string in your question];
input = input.substring(input.indexOf("\"gs\"") + "\"gs\"".length()); // we move past the ':'
input = input.substring(input.indexOf('"') + 1); // move past the first '"' after "gs"
String gs = input.substring(0, input.indexOf('"'));

现在
gs
包含字符串
a2fdee457d64cd48f399f1a9fea4a977

这看起来像是regex的作业。你是说“格式化”还是“解析”?@HotLicks我正在尝试获取这个值“a2fdee457d64cd48f399f1a9fea4a977”,并将其设置为变量。(如果情况如此糟糕,您可以很好地使用
indexOf
substring
,或者更强大一点的是,
split
)您的“类似于JSON的”字符串实际上是JSON吗,或者我们可以假设没有嵌套对象吗?但是请注意,JSON允许不重要的“空白”在标记之间,因此在发送端面对更改时,上面的内容不是“健壮的”。@HotLicks您是对的。我修改了我的答案以适应这一点。
// String input = [string in your question];
input = input.substring(input.indexOf("\"gs\"") + "\"gs\"".length()); // we move past the ':'
input = input.substring(input.indexOf('"') + 1); // move past the first '"' after "gs"
String gs = input.substring(0, input.indexOf('"'));