Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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,我有一个JSON: String jsonString = "{"Tech":"{id :[""],techInside :["Java","C++"]}","id1":"","state":""}"; 所以我需要techInside的价值。我如何访问>我已尝试: JSONObject obj = new JSONObject(jsonString); string techInside = obj.getJSONObject("Tech").getJSONArray("techInside"

我有一个JSON:

String jsonString = "{"Tech":"{id :[""],techInside :["Java","C++"]}","id1":"","state":""}";
所以我需要techInside的价值。我如何访问>我已尝试:

JSONObject obj = new JSONObject(jsonString);
string techInside = obj.getJSONObject("Tech").getJSONArray("techInside");
但它给了我一个例外:
org.json.JSONException:17岁时应该是一个“,”或“}”。

尝试了许多其他方法,但花了很多时间。需要一些建议。


注意:我在字符串中使用了转义字符。因此请忽略jsonString中的转义字符

我认为您正在寻找的json类型是

{“Tech”:{“id”:“techInside”:[“Java”,“C++”]},“id1”:“state”:“}


不确定您的需求是什么。

您的JSON无效。对象(
{}
)周围不应有

尝试使用此JSON字符串:

String jsonString = "{\"Tech\":{\"id\":[\"\"], \"techInside\":[\"Java\", \"C++\"]}, \"id1\":\"\", \"state\":\"\"}"
还是不逃走

{"Tech":{"id":[""], "techInside":["Java", "C++"]}, "id1":"", "state":""}

你看过这个吗?请提供一份报告。事实上,您的代码甚至不可编译,例如,
string-techInside
可能应该是
string-techInside
,但除此之外,您希望如何将
getJSONArray()
的返回值强制转换为
string
?您的JSON无效,
getJSONArray()
不返回“字符串”(甚至是一个
String
),它返回一个
JSONArray
。哦,谢谢。我只是盲目地使用了一些在线工具来验证JSON。它给了我一个绿色,所以我甚至没有再看一眼。让我尝试重新格式化JSON。谢谢。