fix fastjson 1.x compatible, for issue #3649
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Waiting to run Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Waiting to run Details

This commit is contained in:
wenshao 2025-07-22 09:08:58 +08:00
parent 0a663fec6e
commit 3ebcb72e18
2 changed files with 15 additions and 3 deletions

View File

@ -369,7 +369,12 @@ public class ObjectWriterCreatorASM
sameFieldName = (char) (firstChar - 32) + fieldName.substring(1);
}
if (sameFieldName != null) {
fieldWriterMap.remove(sameFieldName);
FieldWriter sameNameFieldWriter = fieldWriterMap.get(sameFieldName);
if (sameNameFieldWriter != null
&& sameNameFieldWriter.method != null
&& sameNameFieldWriter.method.equals(method)) {
fieldWriterMap.remove(sameFieldName);
}
}
}
});

View File

@ -1,6 +1,7 @@
package com.alibaba.fastjson2.issues_3600;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import org.junit.jupiter.api.Test;
@ -12,8 +13,10 @@ public class Issue3649 {
public void test() {
UserDTO user = new UserDTO();
user.setUserName("张三");
assertEquals("{\"UserName\":\"张三\"}",
JSON.toJSONString(user));
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(user));
assertEquals(2, jsonObject.size());
assertEquals(user.getUserName(), jsonObject.getString("UserName"));
assertEquals(user.getUserName(), jsonObject.getString("userName"));
}
@Data
@ -24,5 +27,9 @@ public class Issue3649 {
public String getTheUserName() {
return userName;
}
public String getUserName() {
return userName;
}
}
}