원격 서버에서 Json String을 검색하고 필요한 형식으로 변환하는 다음 C# 도우미 클래스가 있습니다.이 일반 메서드 호출을 C#에서 Java로 변환하는 방법
public class JsonHelper
{
private JavaScriptSerializer serializer = new JavaScriptSerializer();
public T GetValue<T>(string methodName, object param) where T : IConvertible
{
string result = GetJsonString(methodName, param);
return (T)Convert.ChangeType(obj, typeof(T));
}
public T GetObject<T>(string methodName, object param) where T : new()
{
var result = GetValue<string>(methodName, param);
return serializer.Deserialize<T>(result);
}
}
-
// Usage:
bool value1 = GetValue<bool>(methodName, param);
int value2 = GetValue<int>(methodName, param);
double value3 = GetValue<double>(methodName, param);
User user = GetObject<User>(methodName, param);
List<User> users = GetObject<List<User>>(methodName, param);
는 지금은 자바 programm에있는 동일한 기능을 갖고 싶어. 지금 당장 붙어있는 두 가지 점이 있습니다 :
이 메서드가 올바르게 호출됩니까?
public <T> T SendJsonPrimitiveRequest(String methodName, Object param) { return null; }
어떻게에만 문자열에서 주조 될 수 타입의 매개 변수를 허용에 나는이 일반적인 방법을 제한 할.
- GetValue는 Convert.ChangeType (...)을 사용하여 C#에서 훌륭하게 작동하는 int, double, bool 및 string 값을 검색하는 데 사용해야합니다. Java에서이 작업을 수행 할 수 있습니까? 아니면 GetBool(), GetInt(), ... 등의 메서드를 작성해야합니까?
GetBool(), GetInt() ...와 비 제네릭 방식을 사용했습니다. 아마도 성능면에서 가장 좋은 선택 일 것입니다. 그러나 추가 클래스 매개 변수가있는 트릭은 언제든지 유용 할 수 있습니다. –