哇塞灵感大爆发——json字符提取偷鸡
哈哈哈哈哈哈哈哈哈哈哈哈哈,今天在做一个关于百度图像转漫画的实验,调用了接口之后,图片可以上传并转码,但是返回值是一个长得像json键值对形式的字符串,长这样
{"image:" abcjhbcuhdbcjascnkajcjdahb ","lod_id":"asjbhxajch "}长这样的然后我需要里面image后面的值取出来传到base64里面进行转码成图片,但是我找了很久没找到如何把键值对数值提取出来的
但是好在我上一个实验了核心也是针对返回值是json的字段进行提取值的,上一个的是一个数组类型的
大概长这样:
{" from":" zh","to":“en”,"trans_result:"[ "dst:" "hello" ,"src:" "你好"]}这个trans_result后面是一个数组类型的,好家伙找了一下午,终于找到了采用将整个字符串变成一个:jsonobject,然后用。openstring提取出数组trans_result的值再去定0个值为dst的具体代码如下
String jsonStr=api.getTransResult(text, from, to); JSONObject jsonObject1 = new JSONObject(jsonStr); JSONArray transResultArray = jsonObject1.getJSONArray("trans_result"); JSONObject transResultObj = transResultArray.getJSONObject(0); String dst = transResultObj.getString("dst"); 感觉直接敲字不够生动,就麻烦大家看一哈我丑陋的笔记八
嘻嘻正是因为有了这个数组的提取我才找到了下面一个的提取方式,他完全是键值对形式的{"image:" abcjhbcuhdbcjascnkajcjdahb ","lod_id":"asjbhxajch "}导致没办法转一个jsonobject对象
但是我突发奇想,给他加一个[](中括号)是不是就可以把它变成一个数组类型提取了,嘻嘻我尊聪明。ran
然后没错,就提取成功了嘻嘻。