我正在尝试解析一个映射并更新其中的值。。。下面是我制作hashmap的.txt文件的内容
第一行是键,JSON字符串是值。
Not_enough_parameters
{"status": false, "errorMessage": "Payload has incorrect amount of parts: expecting: 18, actual:8", "version": "0.97", "coreName": "Patient_Responsibility"}
这是我的解析代码:
parse = params.split("\\|");
String key;
String value;
String value2;
String key2;
String value3;
Map<String, String> predictionFeatureMap = mockconfig.getPredictionFeatureMap();
if(parse.length!=18) {
key = "Not_enough_parameters";
value = predictionFeatureMap.get(key);
Map<?,?> resultJsonObj = new Gson().fromJson(value, Map.class);
key2 = "errorMessage";
value2 = (String) resultJsonObj.get(key2);
value3 = value2.substring(0,61) +parse.length+value2.substring(62);
}
我正在发送一个名为params的有效负载字符串,该字符串由“|”分隔符分隔。它们的输入必须有18个参数(在“|”分隔符之间有18个值)。我解析输入,如果它没有足够的参数,我会得到包含字符串“not_ough_parameters”的键,然后得到它的值,即JSON字符串。
然后,我使用该JSON字符串并使用Gson创建一个映射。
我这样做是因为我希望返回值
{"status": false, "errorMessage": "Payload has incorrect amount of parts: expecting: 18, actual:(params.length)", "version": "0.97", "coreName": "Patient_Responsibility"}
所以我想更新“实际情况”。我从JSON映射中获取“errorMessage”的值,并使用子字符串获取索引并更改该值以更新用户输入的实际参数量。
我不知道如何将新的JSON重新插入JSON映射中的整个JSON字符串,然后再插入原始映射中。
因此,我实施了一个解决方案,尽管我不确定它是否最干净、最直接。
我仍然从JSON Map中的“错误消息”键的值中获得了子字符串。
然后,我用新编辑的JSON替换了该键的值。
然后我获取Json映射并将其转换为字符串。
然后,我将新的JSON字符串添加到原始hashmap的值中
String[] parse;
@PostMapping(value = "/")
public String payloader(@RequestBody String params ) throws IOException{
LOGGER.debug("code is hitting");
String key,key2;
String value,value2,value3;
Map<String, String> predictionFeatureMap = mockconfig.getPredictionFeatureMap();
if(parse.length!=18) {
key = "Not_enough_parameters";
value = predictionFeatureMap.get(key);
Map<String,Object> resultJsonObj = new Gson().fromJson(value, Map.class);
key2 = "errorMessage";
value2 = (String) resultJsonObj.get(key2);
value3 = value2.substring(0,61) +parse.length+value2.substring(62);
resultJsonObj.replace(key2, value3);
String updatedResponse = new Gson().toJson(resultJsonObj,Map.class);
value = updatedResponse;
}
else {
key = params;
value = predictionFeatureMap.get(key);
}
return value;
问题内容: 我正在尝试创建字符串到字符串的映射。以下是我尝试过的方法,但两种方法均无效。它出什么问题了? 问题答案: 这里有两个问题。 首先,您不能像其他语言那样使用语法。方括号仅适用于Java中的数组,因此只能与整数索引一起使用。 是正确的,但这是一条语句,因此必须存在于方法块中。在类级别只能存在字段声明。这是一个示例,其中所有内容都在方法的本地范围内: 如果要将映射初始化为类的静态字段,则可以
insertImage(int $row, int $column, string $localImagePath[, double $widthScale, double $heightScale]) int $row $excel = new \Vtiful\Kernel\Excel($config); $freeFile = $excel->fileName("free.xlsx");
问题内容: 我有以下程序,其中我需要使用以下结构来解析yaml: https://codebeautify.org/yaml- validator/cbabd352 这是 有效的Yaml ,我使用字节使其更简单,也许缩进在复制粘贴到问题的过程中已更改,但您可以在链接中看到yaml有效 YAML的有API_VERSION和亚军,每个转轮(关键是名字),我已经命令的列表,我需要打印这些命令和,我究
问题内容: 我有一个非常简单的JSON文件,类似这样,但是有成千上万个字符串: 我想把水果装入一个 最好的方法是什么?有没有一种方法我不需要遍历每个元素并使用循环插入到地图中? 问题答案: 这是示例,您可以在没有任何结构的情况下解组字符串列表。 或者可以使用字符串列表代替字符串列表
我使用的谷歌地图api如下: 这需要拉特和lng,地图画得很好,但是当新的拉特 我想在不重新绘制地图的情况下更新地图上的标记。
问题内容: 拥有下一张原始地图: 在G1,G2和G3是不同年龄段的人群时,如何创建这样的新地图: 新密钥是每个组中的最大年龄。 我已经试过了: 但是编译器对我说:在这段代码中,“此表达式的目标类型必须是函数接口”: 任何帮助,将不胜感激。 问题答案: toMap使用和的功能。您在代码中正确地执行了此操作,但是对于,您却没有正确执行此操作,因此您需要包含以下函数: 注意 。 此外,由于您不使用地图键