小编Mic*_*ber的帖子

C#声音可视化

我想用C#语言和.NET Framework创建一个声音可视化系统.这可能看起来像在Winamp应用程序中.也许存在免费图书馆或一些描述如何做的有趣文章?示例: alt text http://img44.imageshack.us/img44/9982/examplel.png

.net c# audio bitmap noise

5
推荐指数
1
解决办法
2万
查看次数

@JSonIgnore的等效代码设置

我是Java和Jackson的新手以及我尝试使用的许多其他技术,所以我会给出一个详细的答案.

有没有办法阻止一个或多个字段使用Jackson序列化为JSon String_like格式,但没有使用任何类型的JSon注释?

像mapper.getSerializationConfig()之类的东西.某事(忽略("displayname"))如果你知道我的意思.我的对象是一个扩展另一个类的类的实例,并且实现了一个接口,所以这些字段来自类的层次结构.我需要该对象的JSon表示,但只包含某些字段,因此我可以通过POST方法在模拟请求中发送该Json.我正在使用Jackson 2.2.2.提前致谢.

java serialization json jackson json-serialization

5
推荐指数
1
解决办法
6961
查看次数

意外的输入结束:OBJECT 的预期关闭标记

我试图在我的应用引擎应用程序中创建一个地理点,但是当我尝试反序列化它时,我收到了这条烦人的消息:

Uncaught exception from servlet
org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (from [Source: java.io.StringReader@1a21658; line: 1, column: 0]).
Run Code Online (Sandbox Code Playgroud)

这是我的 JSON 代码:

{
    "id": 31,
    "name": "pepe",
    "mail": "p@p.com",
    "password": 123,
    "age":10,
    "birthday": "01-06-1991",
    "desc" : " bla bla",
    "gp": {
     "latitude": 64.124596,
     "longitude": -147.8632
     }
}
Run Code Online (Sandbox Code Playgroud)

这是 geopoint 的声明和我的自定义反序列化方法:

GeoPoint gp;

public GeoPoint getGp() {
    return gp;
}

@JsonDeserialize(using = CustomGeoPintDeserializer.class)
public void setGp(GeoPoint gp) {
    this.gp = gp;
}

public  class CustomGeoPintDeserializer extends JsonDeserializer<GeoPoint> {

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java search google-app-engine jackson geopoints

5
推荐指数
1
解决办法
3万
查看次数

Junit 测试中 LocalDateTime 反序列化的问题

LocalDateTimeJunit测试中遇到反序列化问题。我有简单的REST API返回一些DTO对象。当我打电话给我的端点时,响应没有问题 - 这是正确的。然后我尝试编写单元测试,获取MvcResult并使用ObjectMapper将其转换为我的DTO对象。但我仍然收到:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.time.LocalDateTime` out of START_ARRAY token
 at [Source: (String)"{"name":"Test name","firstDate":[2019,3,11,18,34,43,52217600],"secondDate":[2019,3,11,19,34,43,54219000]}"; line: 1, column: 33] (through reference chain: com.mylocaldatetimeexample.MyDto["firstDate"])
Run Code Online (Sandbox Code Playgroud)

我正在尝试@JsonFormat并添加compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.9.8'到我的build.gradle但我使用Spring Boot 2.1.3.RELEASE所以它参与其中。我不知道如何解决它。我的简单端点和单元测试如下:

@RestController
@RequestMapping("/api/myexample")
public class MyController {

    @GetMapping("{id}")
    public ResponseEntity<MyDto> findById(@PathVariable Long id) {

        MyDto myDto = new MyDto("Test name", LocalDateTime.now(), LocalDateTime.now().plusHours(1));
        return ResponseEntity.ok(myDto); …
Run Code Online (Sandbox Code Playgroud)

java junit jackson spring-boot

5
推荐指数
1
解决办法
5752
查看次数

Jackson 将 Instant 序列化为纳秒问题

Jackson串行化java.time.InstantWRITE_DATE_TIMESTAMPS_AS_NANOSECONDS默认启用。

JSON是这样产生的

{ "timestamp":1421261297.356000000 }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法摆脱最后的零。我想要这样的东西:

{ "timestamp":1421261297.356 }
Run Code Online (Sandbox Code Playgroud)

我试过:

mapper.configure( SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false );
mapper.configure( SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true );
Run Code Online (Sandbox Code Playgroud)

但是此配置将其更改为毫秒表示1421261297356。我想要秒部分和小数毫秒部分。

java serialization json jackson java-time

5
推荐指数
1
解决办法
4882
查看次数

如何使用 Jackson 反序列化泛型 List&lt;T&gt;?

多年来,我一直在使用 Jackson 来序列化/反序列化对象,并且总是发现使用TypeReference<T>反序列化List等不必要地复杂。我创建了一个简单的辅助函数:

public static <T> TypeReference<List<T>> list() {
    return new TypeReference<List<T>>(){}
}
Run Code Online (Sandbox Code Playgroud)

预期用途:

List<Foo> foos = objectMapper.readValue(json, list());
Run Code Online (Sandbox Code Playgroud)

它有效!的种类。通过调试器进行检查时,不是 的列表Foo,而是 的列表LinkedHashMap。我知道ObjectMapper反序列化为LinkedHashMap类型Object,我在这里阅读了解释:

Jackson 和泛型类型引用

但是,为什么它能够分配List<LinkedHasMap>给 a List<Foo>?至少不应该是某种ClassCastException吗?

另外,有没有办法用Java的类型系统来做到这一点?

注意:以下方法声明具有相同的问题,这是有道理的,因为不需要T确定附加参数:

public static <T> TypeReference<List<T>> listOf(Class<T> ignored) {
    return new TypeReference<List<T>>(){}
}
Run Code Online (Sandbox Code Playgroud)

java class list type-erasure jackson

5
推荐指数
1
解决办法
3506
查看次数

如何在Custom Search API中使用"dateRestrict"参数

我正在尝试修改一些使用Google API的java代码.我无法获得的功能之一是dateRestrict.有关这方面的信息可以在这里找到: GoogleAPI

为了实现这一点,我在查询后附加以下字符串.它与完整URL正确连接,因为其他参数可以使用它.

String parameters = "&dateRestrict=2012-01-01";

我也尝试过1d和1m,但这些都不能作为参数

如果有人能告诉我dateRestrict的一个例子,我会非常感激.我只是不明白他们在API中使用它的意思.谢谢.

java google-custom-search

4
推荐指数
1
解决办法
4070
查看次数

@Around切入点调用方法两次

有时我的API抛出异常,该服务器无法处理我的请求.我决定创建一个AOP方面,它将重新调用API调用.例如,5次,之后抛出异常,如果它仍然不起作用.

请看我的AOP课程.这不是一个完整的机构,但我希望你能够理解发生了什么:

@Aspect
public class RetryRequestExecutor {

    ....

    @Around("@annotation(com.test.RequestRetriable)")
    public Object retryApiRequest(ProceedingJoinPoint point) throws Throwable {
        int numAttempts = 0;
        ServiceException lastException;
        do {
            numAttempts++;
            try {
                preInvokeLog(point);
                Object retValue = point.proceed();
                postInvokeLog(point);
                return retValue;
            } catch (ServiceException e) {
                lastException = handleServiceException(point, numAttempts, e);
            }
        } while (numAttempts <= maxRetries);
        throw lastException;
    }

    ....
}
Run Code Online (Sandbox Code Playgroud)

这是我的服务类:

public class UserApiImpl implements UserApi {

    ...

    @Override
    public List<DomainUser> retrieveSuspendedUsers() throws Exception{
        LOG.debug("Retrieving suspended users.");

        ...

        List<DomainUser> users = new ArrayList<DomainUser>(64);
        do …
Run Code Online (Sandbox Code Playgroud)

java aspectj spring-aop

4
推荐指数
1
解决办法
1078
查看次数

Java unmarshilling JSON数据包含抽象类型

我们使用Jersey/Jackson将JSON数据解组为java DTO.我的一个DTO是一个抽象类,我想将JSON数据解组到他的扩展DTO之一.例如,假设我有这些DTO:

public abstract class AnimalDTO{}

public class DogDTO extends AnimalDTO{}

public class CatDTO extends AnimalDTO{}
Run Code Online (Sandbox Code Playgroud)

我想解组这个JSON数据:

{Zoo: {Animals:[{"type"="DogDTO", "code"="001", "name"="chihuahua"}, {"type"="CatDTO", "code"="002", "name"="felix"}]}}
Run Code Online (Sandbox Code Playgroud)

因为"类型"会给出我想要解组的DTO类型.但似乎没有考虑这个属性.有没有我错过的,或误解了JSON语法?

谢谢.

json abstract-class jersey jackson

4
推荐指数
1
解决办法
1万
查看次数

如何使用 Jackson 在 Java 中高效地读取 JSON 文件中的数据?

我将所有静态数据存储在JSON文件中。该JSON文件最多有行1000。如何获取所需的数据而不将所有行存储为ArrayList

我的代码,我现在正在使用,我想提高它的效率。

List<Colors> colorsList = new ObjectMapper().readValue(resource.getFile(), new TypeReference<Colors>() {});
    for(int i=0; i<colorsList.size(); i++){
        if(colorsList.get(i).getColor.equals("Blue")){
            return colorsList.get(i).getCode();
        }
    }
Run Code Online (Sandbox Code Playgroud)

是否可以?我的目标是在不使用ArrayList. 有没有办法让代码变成这样?

Colors colors = new ObjectMapper().readValue(..."Blue"...);  
return colors.getCode();
Run Code Online (Sandbox Code Playgroud)

资源.json

[
...
  {
    "color":"Blue",
    "code":["012","0324","15478","7412"]
  },
  {
    "color":"Red",
    "code":["145","001","1","7879","123984","89"]
  },
  {
    "color":"White",
    "code":["7","11","89","404"]
  }
...
]
Run Code Online (Sandbox Code Playgroud)

颜色.java

class Colors {

    private String color;
    private List<String> code;

    public Colors() {
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) …
Run Code Online (Sandbox Code Playgroud)

java arraylist jackson

4
推荐指数
1
解决办法
4840
查看次数