我正在尝试将嵌套JsonObject中的print (df1)
Year Month ID Fruit
0 2018 1 A Apple
1 2018 1 A Banana
6 2018 3 B Apple
7 2018 3 B Mango
变量更新为当前日期,JSON的结构如下:
expiryDate
我已经成功读取了JSON,但是只能将新属性放在顶层,而不是更新{
"expiryDate" : {
"type" : "String",
"value" : "31-12-2019"
}
}
属性:
expiryDate.value
如何更新嵌套属性?
答案 0 :(得分:3)
您可以使用:
JsonNode data = new ObjectMapper().readTree(dataString);
((ObjectNode) data.get("expiryDate")).put("value", "05-02-2020");
位置:
((ObjectNode) data.get("expiryDate"))
,您得到父母,然后put("value", "05-02-2020")
更改嵌套节点的值输出
{"expiryDate":{"type":"String","value":"05-02-2020"}}
答案 1 :(得分:0)
function useDocScroll() {
const [docScroll, setDocScroll] = useState(getScroll());
const lastScrollRef = useRef(null);
const [scrollSpeed, setScrollSpeed] = useState();
useEffect(() => {
if (!isClient) {
return false;
}
function handleScroll() {
const lastScroll = lastScrollRef.current;
const curr = getScroll();
setScrollSpeed(Math.abs(getScroll() - (lastScroll || 0)));
setDocScroll(curr);
// Update last
lastScrollRef.current = curr;
}
window.addEventListener('scroll', handleScroll);
}, []);
return [docScroll, lastScrollRef.current, scrollSpeed];
}
在到期日内有该方法。
答案 2 :(得分:0)
您可以使用ObjectNode .put并更新下面的已测试代码中的现有值
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class Test {
public static void main(String[] args) throws Exception {
String datString = "{ \"expiryDate\" : { \"type\" : \"String\", \"value\" : \"31-12-2019\" } } ";
JsonNode data = new ObjectMapper().readTree(datString);
System.out.println(" before update json"+data);
String expiryDate = data.get("expiryDate").get("value").textValue();
((ObjectNode) data.get("expiryDate")).put("value", "05-02-2020");
System.out.println(" updated json "+data);
} }