Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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_Json - Fatal编程技术网

Java中的文本到Json(以文本形式列出)

Java中的文本到Json(以文本形式列出),java,json,Java,Json,我调用的API返回了以下文本: {"identified_faces_names": "[\"omar\", \"elhoussinep\"]"} 当我将此文本传递给JSONParse进行解析时,它会给出以下异常: 线程“main”中位置0处的意外字符(o)出现异常 用于将文本解析为json的代码: String s = new String("{\"identified_faces_names\": \" [\"omar\",\"elhoussinep\"]\"}"); JSONParser

我调用的API返回了以下文本:

{"identified_faces_names": "[\"omar\", \"elhoussinep\"]"}
当我将此文本传递给JSONParse进行解析时,它会给出以下异常:

线程“main”中位置0处的意外字符(o)出现异常

用于将文本解析为json的代码:

String s = new String("{\"identified_faces_names\": \" [\"omar\",\"elhoussinep\"]\"}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);

你真的想用引号把
[“omar”,“elhoussinep”]
括起来吗?这一定是一个包含字符串引号的字符串值吗?或者它是一个字符串数组

如果
identified\u faces\u names
是一个字符串数组,那么有效的JSON是:

{
  "identified_faces_names": [
    "omar",
    "elhoussinep"
  ]
}
{
  "identified_faces_names": "[\\\"omar\\\",\\\"elhoussinep\\\"]"
}
这是可以解析的,没有错误,如下所示:

String s = new String("{\"identified_faces_names\": [\"omar\",\"elhoussinep\"]}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
String s = new String("{\"identified_faces_names\": \" [\\\"omar\\\",\\\"elhoussinep\\\"]\"}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
如果
identified\u faces\u names
是包含引号的字符串,则必须转义字符串中的引号。有效的JSON是:

{
  "identified_faces_names": [
    "omar",
    "elhoussinep"
  ]
}
{
  "identified_faces_names": "[\\\"omar\\\",\\\"elhoussinep\\\"]"
}
这是可以解析的,没有错误,如下所示:

String s = new String("{\"identified_faces_names\": [\"omar\",\"elhoussinep\"]}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
String s = new String("{\"identified_faces_names\": \" [\\\"omar\\\",\\\"elhoussinep\\\"]\"}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
因此,总而言之,我建议重新访问JSON以确定它是字符串数组还是包含引号的字符串,如果是后者,则必须转义这些引号


FWIW,您可以使用来检查JSON是否有效。使用此代码,您可以看到原始JSON(
{“已识别的面名称”:“[“omar”,“elhoussinep”]}
)无效,并且第一个无效字符是
“omar”
中的
“o”
,这被视为无效,因为它紧跟在
“[”
这被认为是一个完整的字符串。

您确定要将
[“omar”,“elhoussinep”]
括在引号中吗?这肯定是一个包含字符串引号的字符串值吗?还是一个字符串数组

如果
identified\u faces\u names
是一个字符串数组,那么有效的JSON是:

{
  "identified_faces_names": [
    "omar",
    "elhoussinep"
  ]
}
{
  "identified_faces_names": "[\\\"omar\\\",\\\"elhoussinep\\\"]"
}
这是可以解析的,没有错误,如下所示:

String s = new String("{\"identified_faces_names\": [\"omar\",\"elhoussinep\"]}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
String s = new String("{\"identified_faces_names\": \" [\\\"omar\\\",\\\"elhoussinep\\\"]\"}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
如果
identified\u faces\u names
是包含引号的字符串,则必须转义字符串中的引号。有效的JSON为:

{
  "identified_faces_names": [
    "omar",
    "elhoussinep"
  ]
}
{
  "identified_faces_names": "[\\\"omar\\\",\\\"elhoussinep\\\"]"
}
这是可以解析的,没有错误,如下所示:

String s = new String("{\"identified_faces_names\": [\"omar\",\"elhoussinep\"]}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
String s = new String("{\"identified_faces_names\": \" [\\\"omar\\\",\\\"elhoussinep\\\"]\"}");
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
因此,总而言之,我建议重新访问JSON以确定它是字符串数组还是包含引号的字符串,如果是后者,则必须转义这些引号


FWIW,您可以使用来检查JSON是否有效。使用此选项,您可以看到您的原始JSON(
{“identified”\u faces\u names:“[“omar”,“elhoussinep”]”}
)无效,并且第一个无效字符是
“omar”
中的
“o”
,因为它紧跟在
“[”之后,因此被视为无效
这被认为是一个完整的字符串。

使用这个字符串{“已识别的面”名称:[\“omar\”,\“elhoussinep\”]}。它是正确的,将被解析。

使用这个字符串{“已识别的面”名称:[\“omar\”,\“elhoussinep\”}。它是正确的,将被解析。

另一方面,它的工作原理是如何转换
[“omar”,“elhoussinep”]
to a list?
JSONObject obj=(JSONObject)parser.parse(s);JSONArray数组=(JSONArray)obj.get(“identified_faces_names”);
。“
JSONArray
是一个
列表
。另一方面,它工作原理是如何将
[“omar”,“elhoussinep”]
转换为列表?
JSONObject=(JSONObject)parser.parse(s);JSONArray数组=(JSONArray)obj.get(“已识别的面名称”)
。`
JSONArray
是一个
列表。