Java将此字符串转换为JSONArray
我从服务器获得以下Java将此字符串转换为JSONArray,java,json,string,converter,arrays,Java,Json,String,Converter,Arrays,我从服务器获得以下String响应: {"fid":"1272","uri":"http://someurl/services/file/1272"} 我需要将其转换为JSONArray。有什么帮助吗 顺便说一句,我试过这个,但它不起作用: String response=getResponseFromServer(); JSONArray array = new JSONArray(response); 我得到一个错误: org.json.JSONException: Value {"fi
String
响应:
{"fid":"1272","uri":"http://someurl/services/file/1272"}
我需要将其转换为JSONArray
。有什么帮助吗
顺便说一句,我试过这个,但它不起作用:
String response=getResponseFromServer();
JSONArray array = new JSONArray(response);
我得到一个错误:
org.json.JSONException: Value {"fid":"1272","uri":"http://someurl/services/file/1272"} of type org.json.JSONObject cannot be converted to JSONArray
如果您在StackOverflow上搜索JSONArray的Java字符串,您应该会得到以下答案:
如果您正在谈论使用库,那么由于您的输入字符串是一个JSON对象,而不是JSON数组,您应该首先使用JSONObject加载它:
String response=getResponseFromServer();
JSONObject jsonObject = new JSONObject(response);
在此之后,您可以使用将JSONObject转换为JSONArray(给定一个键字符串数组):
String[] names = JSONObject.getNames(jsonObject);
JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));
你试过什么吗?您使用的是JSON库吗?这是一个JSON对象,不是JSON数组。它是一个Java字符串,还不是JSON对象。他在做Java,而不是Javascript。我的字符串不是
JSONArray
构造函数所接受的格式。好的,那么请看@keelar在这种情况下的回答。OP还没有JSONArray
,问题中的JSON字符串表示JSONObject
而不是JSONArray
。好的。谢谢JSONObject
对我来说是新事物。没问题,不客气。这就是stackoverflow的作用:)
String[] names = JSONObject.getNames(jsonObject);
JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));