gpt4 book ai didi

java - 如何将 JSONArray 转换为 LinkedHashMap

转载 作者:行者123 更新时间:2023-12-01 22:33:08 26 4
gpt4 key购买 nike

我的表单中有一个 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 将是 keyansValue将是

如何做到这一点?

最佳答案

您可以迭代数组并使用此方法

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com