两者有什么区别.这两者都以完全相同的方式工作.
public static function getArgsArray($reflectionMethod,$argArray){
$arr = array();
foreach($reflectionMethod->getParameters() as $key => $val){
$arr[$val->getName()] = isset($argArray[$val->getName()]) ?
$argArray[$val->getName()] : (isset($_REQUEST[$val->getName()])
? $_REQUEST[$val->getName()] : ($val->*isDefaultValueAvailable()* ? $val->getDefaultValue() : NULL));
}
return $arr;
}
Run Code Online (Sandbox Code Playgroud) 好的,我有一个json说
userjson = { fname : "ABC", lname : "DEF" }
Run Code Online (Sandbox Code Playgroud)
和用户Pojo对象
User {
String id,
String email,
String fname,
String lname
}
Run Code Online (Sandbox Code Playgroud)
现在使用我的Jackson,我知道如何从userjson创建User实例,但是如何从userjson更新现有的User实例,因为我的用户实例已经有一些其他模块已设置的属性.
现在我正在做的是将userjson转换为userHasMap,然后手动设置所有值
userInstance.setFName(userHasMap.get('fname'))
userInstance.setLName(userHasMap.get('lname'))
Run Code Online (Sandbox Code Playgroud)
whoch工作得很好,但我已经做了一些事情,在需要时将userInstance转换为userjson,这将使得jackson-lib毫无意义.