针对嵌入式或嵌套类的Jackson @JsonBackreference

时间:2015-12-09 16:42:58

标签: java hibernate jackson

我以这种方式构建父子关系(来自遗留系统)

<div class="container">
  <input type="text" placeholder="Your name" class="input">
  <div class="inner-div">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit.
  </div>
</div>

它可以正常运行,问题是我无法序列化A对象,因为循环引用。 在我尝试将 @jsonmanagedreference 添加到 Ab 并将 @jsonbackreference 添加到 PK.a 后,它无法正常工作,因为它找不到JsonBackReference,有没有办法在序列化期间管理父子关系,如果是嵌入式类中的子项还是嵌套?

1 个答案:

答案 0 :(得分:0)

我用过这个解决方案: Read embedded object in Jackson

它对我有用,只需在嵌入式类引用上使用@JsonUnwrapped并将嵌入式id映射到:@JsonIdentityInfo

<?php
    if($login = strstr($_SERVER['REQUEST_URI'], "?lang=en")) {
                    $login = wp_login_url();
                    } else {
                    $login = wp_login_url();
                    }?>
<form method="post" action="<?php echo $login?>"
    <div class="login-form-container resp-hidden">
        <div class="login-form-container-inner">
            <h3 class="form-title"><?php echo __('Login', 'louise'); ?></h3>

            <label for="user_login">
                <?php echo __('User name or e-mail', 'louise'); ?>: </label>
            <input class="para-content" type="text" name="log" placeholder="" value="<?php echo esc_attr(stripslashes($user_login || $user_email)); ?>" size="20" id="user_login" tabindex="11" required>

            <label for="user_pass">
                <?php echo __('Password', 'louise'); ?>: </label>
            <input class="para-content" type="password" name="pwd" value="" size="20" id="user_pass" tabindex="12" required/>
            <label for="rememberme"> </label>

            <div class="buttons">
                <?php do_action('login_form'); ?>
                    <input type="submit" name="user-submit" value="<?php echo __('Log in', 'louise'); ?>" tabindex="14" class="signupbtn" />
                    <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
                    <input type="hidden" name="user-cookie" value="1" />
            </div>
        </div>
    </div>
</form>