JSONObject获取json

注:{}内为JSONObject对象,而[]内为JSONArray对象

数据:{"code":"0","data":{"block":[{"type":"text","line":[{"confidence":1,"word":[{"content":"#接口调用流程"}]}]}]},"desc":"success","sid":"wcr005108b0@gz50bf12296549463000"}

这是call 图像识别的api获取的结果。

利用Java代码解析

引入jar:

		<!-- JSONObject对象依赖的jar包 -->
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.1</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>net.sf.ezmorph</groupId>
			<artifactId>ezmorph</artifactId>
			<version>1.0.6</version>
		</dependency>
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.2.3</version>
			<classifier>jdk15</classifier><!-- 指定jdk版本 -->
		</dependency>
  String result = HttpUtil.doPost1(WEBOCR_URL, header, "image=" + URLEncoder.encode(imageBase64, "UTF-8"));
        JSONObject jsonObject= JSONObject.fromObject(result);
        System.out.println(jsonObject);
        //获取data的json
        JSONObject dataJson = (JSONObject) jsonObject.get("data");
        /**
         * 获取data下block的jsonArray,取其第一个array
         */
        JSONArray jsonArray = dataJson.getJSONArray("block");
        Object blockObject =  jsonArray.get(0);
        /**
         * 将第一个array转化为JSONObject
         */
        JSONObject blockJson= JSONObject.fromObject(blockObject);
        Object lineObject = blockJson.getJSONArray("line").get(0);
        /**
         * 将line下的第一个数组转化成JSONObject
         */
        JSONObject worldJson= JSONObject.fromObject(lineObject);
        /**
         * 读取line中word Array
         * 取第一个生产JSONObject对象
         * 获取content
         */
        Object wordObject = worldJson.getJSONArray("word").get(0);
        JSONObject wordJson= JSONObject.fromObject(wordObject);
        System.out.println(wordJson.get("content"));

 

### 回答1: 数据,你有什么其他的处理方式吗? 回答:可以使用Gson库来处理JSON数据,它可以将JSON数据转换为Java对象,也可以将Java对象转换为JSON数据。另外,还可以使用Jackson库来处理JSON数据,它也可以实现JSON数据和Java对象之间的转换。 ### 回答2: 不使用JSONObject处理JSON的话,可以使用原生的方法来解析JSON数据。 一种方法是使用Java中的Gson库来处理JSON。Gson库提供了一组简单易用的方法,可以将JSON数据转换成Java对象,或者将Java对象转换成JSON数据。我们可以使用Gson的fromJson方法,将JSON数据转换成Java对象,然后使用Java对象的属性来访问JSON数据中的值。 另一种方法是使用Java中的Jackson库来处理JSON。Jackson库也提供了一组方便的方法,用于将JSON数据转换成Java对象和将Java对象转换成JSON数据。我们可以使用Jackson库的readValue方法,将JSON数据转换成Java对象,然后使用Java对象的属性来访问JSON数据中的值。 无论是使用Gson还是Jackson,我们都需要先将JSON数据到一个字符串中,然后再将字符串传递给相应的方法来进行处理。字符串可以使用Java中的FileReader或BufferedReader类来JSON文件,或者使用网络请求库来获取JSON数据。 总之,不使用JSONObject处理JSON数据的话,可以使用Gson库或Jackson库来实现JSON的解析和处理。这些库提供了简单易用的方法,能帮助我们将JSON数据转换成Java对象,并且可以使用Java对象的属性来访问JSON数据中的值。 ### 回答3: 不使用JSONObject处理JSON可以使用其他方法来和解析JSON数据。 一种常见的方法是使用第三方库,如GSON或Jackson。这些库提供了更方便的方法来处理JSON数据。我们可以使用这些库将JSON数据转换为Java对象,然后使用Java对象访问和处理数据。 另一种方法是使用Java的内置类库,如JsonReader或JsonParser。这些类提供了更底层的处理方式,可以逐行和解析JSON数据。 还可以使用字符串操作函数,如split和substring,来手动提JSON数据的各个部分。我们可以根据JSON的语法规则来识别和提键值对、数组等内容。 不使用JSONObject处理JSON可能会更加复杂和繁琐,需要更多的编码和处理逻辑。因此,如果需要频繁处理JSON数据,建议使用JSONObject或第三方库来更方便地处理JSON数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值