作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的表单中有一个 JSON 对象
{"pageId":1,"stgId":1,"userId":2,"requestStageId":0,"requestPageId":0,"answer":[{"qId":"6","ansValue":"1"},{"qId":"11","ansValue":"10"}]}
我收到的数据为:
long uid = (long)inputJsonObj.get("userId");
long stgid = (long)inputJsonObj.get("stgId");
long pgid = (long)inputJsonObj.get("pageId");
JSONArray answer_Array = (JSONArray) inputJsonObj.get("answer");
即,answer_Array 包含:
[{"qId":"6","ansValue":"1"},{"qId":"11","ansValue":"10"}]
现在我需要将 JSONArray answer_Array 转换为 LinkedHashMap,其中 qid 将是 key 和 ansValue将是值。
如何做到这一点?
最佳答案
您可以迭代数组并使用此方法
public static Map parseStringToMap(String param)
{
Map result = new HashMap<String,String>();
if(param!=null)
{
StringBuffer sb = new StringBuffer(param);
try
{
String str = sb.substring(1, sb.length()-1);
String[] srArray = str.split(",");
String tempStr = null;
for(int i=0;srArray!=null && i<srArray.length;i++)
{
tempStr = srArray[i];
if(tempStr!=null && tempStr.contains(":"))
{
String[] keyVal = tempStr.split(":");
if(keyVal.length>1)
result.put(keyVal[0], keyVal[1]);
else
result.put(keyVal[0], "");
}
}
}
catch(Exception e)
{
System.out.println("In JSONConverter: Issue while parsing the JSON => "+e.getMessage());
e.printStackTrace();
}
}
return result;
}
关于java - 如何将 JSONArray 转换为 LinkedHashMap<String,String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27312795/
我是一名优秀的程序员,十分优秀!