我有一个名为jsonString的字符串变量:
{"phonetype":"N95","cat":"WP"}
现在我想把它转换成JSON对象。我在谷歌上搜索了更多,但没有得到任何预期的答案!
我有一个名为jsonString的字符串变量:
{"phonetype":"N95","cat":"WP"}
现在我想把它转换成JSON对象。我在谷歌上搜索了更多,但没有得到任何预期的答案!
当前回答
使用org.json
如果你有一个包含JSON格式文本的字符串,那么你可以通过以下步骤获取JSON对象:
String jsonString = "{\"phonetype\":\"N95\",\"cat\":\"WP\"}";
JSONObject jsonObj = null;
try {
jsonObj = new JSONObject(jsonString);
} catch (JSONException e) {
e.printStackTrace();
}
现在访问phonetype
Sysout.out.println(jsonObject.getString("phonetype"));
其他回答
最好使用更简单的方式使用org。json自由。只需要做一个非常简单的方法:
JSONObject obj = new JSONObject();
obj.put("phonetype", "N95");
obj.put("cat", "WP");
现在obj是你各自String的JSONObject转换形式。这是在有名称-值对的情况下。
对于字符串,可以直接传递给JSONObject的构造函数。如果它是一个有效的json String,那么好,否则它会抛出异常。
对于仍在寻找答案的人:
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(stringToParse);
java7解决方案
import javax.json.*;
...
String TEXT;
JsonObject body = Json.createReader(new StringReader(TEXT)).readObject()
;
要将String转换为JSONObject,您只需要将String实例传递到JSONObject的构造函数中。
Eg:
JSONObject jsonObj = new JSONObject("your string");
使用org.json.simple.JSONObject将String转换为Json对象
private static JSONObject createJSONObject(String jsonString){
JSONObject jsonObject=new JSONObject();
JSONParser jsonParser=new JSONParser();
if ((jsonString != null) && !(jsonString.isEmpty())) {
try {
jsonObject=(JSONObject) jsonParser.parse(jsonString);
} catch (org.json.simple.parser.ParseException e) {
e.printStackTrace();
}
}
return jsonObject;
}