原文地址:https://blog.csdn.net/qq_17586821/article/details/53856606
maven项目中,需要在pom.xml文件的<dependencies>标签下加上对JSONsimple的依赖,如下
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
本文使用一个小例子展示在java中怎样将一个JSON格式的字符串转化为JSONObject对象。注意,我们使用的是 org.json.simple.JSONObject;
package com.qs.json; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import org.junit.Test; public class SimpleJson { @Test public void stringToJson() { String str = "{" + "\"" + "latitude" + "\"" + ":" + 30.23 + "," + "\"" + "longitude" + "\"" + ":" + 114.57 + "}"; System.out.println(str + "\n" + str.getClass()); try { JSONObject jsonObj = (JSONObject)(new JSONParser().parse(str)); System.out.println(jsonObj.toJSONString() + "\n" + jsonObj.getClass()); /*float longitude = (float)jsonObj.get("longitude"); System.out.println(longitude);*/ double latitude = (double)jsonObj.get("latitude"); System.out.println(latitude); } catch (ParseException e) { e.printStackTrace(); } } }
输出结果如下:
{"latitude":30.23,"longitude":114.57} class java.lang.String {"latitude":30.23,"longitude":114.57} class org.json.simple.JSONObject 30.23
题外话:
下面是被注释的那部分报的错:浮点数的字面量是double,而在java中,大范围不能向小范围转。