小编Era*_*ran的帖子

使用Jackson将JSON字符串转换为Pretty Print JSON输出

这是我的JSON字符串:

{"attributes":[{"nm":"ACCOUNT","lv":[{"v":{"Id":null,"State":null},"vt":"java.util.Map","cn":1}],"vt":"java.util.Map","status":"SUCCESS","lmd":13585},{"nm":"PROFILE","lv":[{"v":{"Party":null,"Ads":null},"vt":"java.util.Map","cn":2}],"vt":"java.util.Map","status":"SUCCESS","lmd":41962}]}
Run Code Online (Sandbox Code Playgroud)

我需要将上面的JSON String转换为Pretty Print JSON Output(使用Jackson),如下所示:

{
    "attributes": [
        {
            "nm": "ACCOUNT",
            "lv": [
                {
                    "v": {
                        "Id": null,
                        "State": null
                    },
                    "vt": "java.util.Map",
                    "cn": 1
                }
            ],
            "vt": "java.util.Map",
            "status": "SUCCESS",
            "lmd": 13585
        },
        {
            "nm": "PROFILE
            "lv": [
                {
                    "v": {
                        "Party": null,
                        "Ads": null
                    },
                    "vt": "java.util.Map",
                    "cn": 2
                }
            ],
            "vt": "java.util.Map",
            "status": "SUCCESS",
            "lmd": 41962
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以根据我上面的例子给我一个例子吗?如何实现这种情况?我知道有很多例子,但我无法正确理解这些例子.通过一个简单的例子可以获得任何帮助.

更新:

以下是我使用的代码:

ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(jsonString));
Run Code Online (Sandbox Code Playgroud)

但这不适用于我需要输出的方式,如上所述.

这是我用于上述JSON的POJO:

public class UrlInfo implements …
Run Code Online (Sandbox Code Playgroud)

java json pretty-print jackson

146
推荐指数
7
解决办法
20万
查看次数

为什么i ++不是原子的?

为什么i++Java中没有原子?

为了更深入地了解Java,我试图计算线程循环执行的频率.

所以我用了一个

private static int total = 0;
Run Code Online (Sandbox Code Playgroud)

在主要班级.

我有两个主题.

  • 线程1:打印 System.out.println("Hello from Thread 1!");
  • 线程2:打印 System.out.println("Hello from Thread 2!");

并且我计算由线程1和线程2打印的线.但是线程1的线+线程2的线与打印出的总线数不匹配.

这是我的代码:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Test {

    private static int total = 0;
    private static int countT1 = 0;
    private static int countT2 = 0;
    private boolean run = true;

    public Test() {
        ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();
        newCachedThreadPool.execute(t1);
        newCachedThreadPool.execute(t2);
        try {
            Thread.sleep(1000);
        }
        catch (InterruptedException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

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

处理Android上的Google Cloud Messaging中的注册ID更改

在Google Cloud Messaging的文档中,它指出:

Android应用程序应该存储此ID以供以后使用(例如,如果已经注册,则检查onCreate()).请注意,Google可能会定期刷新注册ID,因此您应该设计Android应用程序,并了解可能会多次调用com.google.android.c2dm.intent.REGISTRATION意图.您的Android应用程序需要能够做出相应的响应.

我使用以下代码注册我的设备:

GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);
String regID = gcm.register(senderID);
Run Code Online (Sandbox Code Playgroud)

GoogleCloudMessaging类封装了注册过程.那么我想如何处理com.google.android.c2dm.intent.REGISTRATION,因为处理是由GoogleCloudMessaging类在内部完成的?

android push-notification google-cloud-messaging

77
推荐指数
2
解决办法
6万
查看次数

与equals方法相关的Java代码

我正在练习考试,发现了一个我不明白的样本问题.

对于以下代码,找到输出的内容:

public class Test {

    private static int count = 0;

    public boolean equals(Test testje) {
        System.out.println("count = " + count);
        return false;
    }

    public static void main(String [] args) {
        Object t1 = new Test();
        Object t2 = new Test();
        Test t3 = new Test();
        Object o1 = new Object();

        ++count; t1.equals(t2);
        ++count; t1.equals(t3);
        ++count; t3.equals(o1);
        ++count; t3.equals(t3);
        ++count; t3.equals(t2);
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是count = 4,但我不明白为什么.谁能帮我?

java equals

74
推荐指数
3
解决办法
3104
查看次数

使用GCM时获得GET_ACCOUNTS权限 - 为什么需要这样做?

我有一个应用程序,实现了推送通知.

我想了解为什么我们需要"GET_ACCOUNTS"(android.permission.GET_ACCOUNTS),同时实现GCM?一些用户对此权限提出了疑虑.我已经使用在清单此权限,因为它是在官方网站给出这里.

这个许可有多安全?如果我从我的清单中删除它,那么推送通知是否有效?

android push-notification google-cloud-messaging

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

如何在取消一次"允许推送通知"对话框后返回?

我正在构建一个严重依赖APN的应用程序.在我的应用程序第一次启动时,iOS会询问是否允许此应用程序使用APN(作为registerForRemoteNotificationTypes:调用的结果).然而,一旦被解雇,这个对话框永远不会弹出.我必须手动去Settings->Notifications->MyApp启用/禁用那里的东西.那么有没有办法避免这种喧嚣,并实际体验用户每次在调试模式下启动应用程序时的第一次启动体验?

iphone objective-c push-notification apple-push-notifications ios

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

这个私有变量如何访问?

编写以下代码时,编译器如何不抱怨?

public class MyClass 
{
    private int count;

    public MyClass(int x){
        this.count=x;
    }

    public void testPrivate(MyClass o){
        System.out.println(o.count);
    }   
}
Run Code Online (Sandbox Code Playgroud)

即使它是testPrivate写入的同一个类的实例,它不应该给出编译错误System.out.println(o.count)吗?毕竟,我试图直接访问私有变量.
代码甚至运行良好.

java private

42
推荐指数
3
解决办法
6245
查看次数

将空值添加到arraylist

即使它有一个泛型类型参数,我可以添加nullArrayList吗?

例如.

ArrayList<Item> itemList = new ArrayList<Item>();
itemList.add(null);
Run Code Online (Sandbox Code Playgroud)

如果是的话,会的

itemsList.size();
Run Code Online (Sandbox Code Playgroud)

返回1还是0?

如果我可以为a添加nullArrayList,我是否只能遍历包含这样的项的索引?

for(Item i : itemList) {
   //code here
}
Run Code Online (Sandbox Code Playgroud)

或者每个循环还会循环遍历列表中的空值吗?

java arraylist

40
推荐指数
2
解决办法
11万
查看次数

摩卡的全局泄漏错误

当我试图打开APN连接时出现全局泄漏错误时,我试图对Apple推送通知库进行单元测试.

这是我的配置错误还是node-apn或mocha中的错误?

我不确定我理解checkGlobals正在做什么......它只是检查是否正在设置任何全局变量?

0) Feed "before all" hook:
   Error: global leak detected: hasCert
     at Runner.checkGlobals (/usr/lib/node_modules/mocha/lib/runner.js:96:21)
     at Runner.<anonymous> (/usr/lib/node_modules/mocha/lib/runner.js:41:44)
     at Runner.emit (events.js:64:17)
     at /usr/lib/node_modules/mocha/lib/runner.js:159:12
     at Hook.run (/usr/lib/node_modules/mocha/lib/runnable.js:114:5)
     at next (/usr/lib/node_modules/mocha/lib/runner.js:157:10)
     at Array.<anonymous> (/usr/lib/node_modules/mocha/lib/runner.js:165:5)
     at EventEmitter._tickCallback (node.js:126:26)
Run Code Online (Sandbox Code Playgroud)

unit-testing mocha.js push-notification apple-push-notifications node.js

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

为什么Optional.map使此分配有效?

Optional<ArrayList<String>> option = Optional.of(new ArrayList<>());

Optional<ArrayList<?>> doesntWork = option;

Optional<ArrayList<?>> works = option.map(list -> list);
Run Code Online (Sandbox Code Playgroud)

第一次尝试分配不会编译,而第二次则带有mapdo。感觉map应该没有实际完成任何事情,但是由于某种原因,这使我Optional<ArrayList<String>>变成了Optional<ArrayList<?>>。是否存在某种隐式强制转换?

java generics optional java-8

36
推荐指数
2
解决办法
1451
查看次数