直入主题:
一个Map里面,有两种String:
第一种解析的字符串结构 keywords:[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]
这里假设String str1 = [{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]
第二种解析的字符串结构 keywords:[{"keyword":"关键字 ","matchType":"1"},{"keyword":"关键字 ","matchType":"1"}]
这里假设String str2 = [{"keyword":"关键字 ","matchType":"1"},{"keyword":"关键字 ","matchType":"1"}]
区别在于,第一种为key=value,而第二种为"key"="value",一种有""包围,一种没有
解决方法:
第一种的话,要转为JSONArray,先转为JSONObject,再转为JSONArray,需要这么做:
JSONObject jsonObject = new JSONObject(str1) ;
JSONArray jsonArray = jsonObject.getJSONArray("keywords") ;
第二种的话,要转为JSONArray,直接:
JSONArray jsonArray = JSONArray.parseArray(str2) ;
附加,使用的包为:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;