当前位置: 首页>>代码示例>>Java>>正文


Java JSON类代码示例

本文整理汇总了Java中nxt.util.JSON的典型用法代码示例。如果您正苦于以下问题:Java JSON类的具体用法?Java JSON怎么用?Java JSON使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


JSON类属于nxt.util包,在下文中一共展示了JSON类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getNextBlocks

import nxt.util.JSON; //导入依赖的package包/类
private JSONArray getNextBlocks(Peer peer, long curBlockId) {

			JSONObject request = new JSONObject();
			request.put("requestType", "getNextBlocks");
			request.put("blockId", Convert.toUnsignedLong(curBlockId));
			JSONObject response = peer.send(JSON.prepareRequest(request));
			if (response == null) {
				return null;
			}

			JSONArray nextBlocks = (JSONArray) response.get("nextBlocks");
			if (nextBlocks == null) {
				return null;
			}
			// prevent overloading with blocks
			if (nextBlocks.size() > 1440) {
				Logger.logDebugMessage("Obsolete or rogue peer " + peer.getPeerAddress() + " sends too many nextBlocks, blacklisting");
				peer.blacklist();
				return null;
			}

			return nextBlocks;

		}
 
开发者ID:muhatzg,项目名称:burstcoin,代码行数:25,代码来源:BlockchainProcessorImpl.java

示例2: processPendingResponses

import nxt.util.JSON; //导入依赖的package包/类
synchronized void processPendingResponses(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    JSONArray responses = new JSONArray();
    JSONStreamAware pendingResponse;
    while ((pendingResponse = pendingResponses.poll()) != null) {
        responses.add(pendingResponse);
    }
    if (responses.size() > 0) {
        JSONObject combinedResponse = new JSONObject();
        combinedResponse.put("responses", responses);
        if (asyncContext != null) {
            asyncContext.getResponse().setContentType("text/plain; charset=UTF-8");
            try (Writer writer = asyncContext.getResponse().getWriter()) {
                combinedResponse.writeJSONString(writer);
            }
            asyncContext.complete();
            asyncContext = req.startAsync();
            asyncContext.addListener(new UserAsyncListener());
            asyncContext.setTimeout(5000);
        } else {
            resp.setContentType("text/plain; charset=UTF-8");
            try (Writer writer = resp.getWriter()) {
                combinedResponse.writeJSONString(writer);
            }
        }
    } else {
        if (asyncContext != null) {
            asyncContext.getResponse().setContentType("text/plain; charset=UTF-8");
            try (Writer writer = asyncContext.getResponse().getWriter()) {
                JSON.emptyJSON.writeJSONString(writer);
            }
            asyncContext.complete();
        }
        asyncContext = req.startAsync();
        asyncContext.addListener(new UserAsyncListener());
        asyncContext.setTimeout(5000);
    }
}
 
开发者ID:muhatzg,项目名称:burstcoin,代码行数:38,代码来源:User.java

示例3: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(HttpServletRequest req) {
    String id = Convert.emptyToNull(req.getParameter("id"));
    if (id == null) {
        return JSON.emptyJSON;
    }
    JSONObject response = new JSONObject();
    BigInteger bigInteger = new BigInteger(id);
    if (bigInteger.signum() < 0) {
        if (bigInteger.negate().compareTo(Convert.two64) > 0) {
            response.put("error", "overflow");
        } else {
            response.put("stringId", bigInteger.add(Convert.two64).toString());
            response.put("longId", String.valueOf(bigInteger.longValue()));
        }
    } else {
        if (bigInteger.compareTo(Convert.two64) >= 0) {
            response.put("error", "overflow");
        } else {
            response.put("stringId", bigInteger.toString());
            response.put("longId", String.valueOf(bigInteger.longValue()));
        }
    }
    return response;
}
 
开发者ID:muhatzg,项目名称:burstcoin,代码行数:26,代码来源:LongConvert.java

示例4: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(final JSONObject request, final Peer peer) {
    if (Nxt.getBlockchain().getLastBlock().getStringId().equals(request.get("previousBlock"))) {
        Peers.peersService.submit(new Runnable() {
            @Override
            public void run() {
                try {
                    Nxt.getBlockchainProcessor().processPeerBlock(request);
                } catch (NxtException | RuntimeException e) {
                    if (peer != null) {
                        peer.blacklist(e);
                    }
                }
            }
        });
    }
    return JSON.emptyJSON;
}
 
开发者ID:giannisKonst,项目名称:blockchain,代码行数:19,代码来源:ProcessBlock.java

示例5: getNextBlocks

import nxt.util.JSON; //导入依赖的package包/类
private JSONArray getNextBlocks(Peer peer, long curBlockId) {

            JSONObject request = new JSONObject();
            request.put("requestType", "getNextBlocks");
            request.put("blockId", Convert.toUnsignedLong(curBlockId));
            JSONObject response = peer.send(JSON.prepareRequest(request));
            if (response == null) {
                return null;
            }

            JSONArray nextBlocks = (JSONArray) response.get("nextBlocks");
            if (nextBlocks == null) {
                return null;
            }
            /*
            // prevent overloading with blocks
            if (nextBlocks.size() > 720) {
                Logger.logDebugMessage("Obsolete or rogue peer " + peer.getPeerAddress() + " sends too many nextBlocks, blacklisting");
                peer.blacklist();
                return null;
            }*/

            return nextBlocks;

        }
 
开发者ID:giannisKonst,项目名称:blockchain,代码行数:26,代码来源:GetBlocksFromPeers.java

示例6: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(HttpServletRequest req) throws NxtException {
    Poll poll = ParameterParser.getPoll(req);
    Account account = ParameterParser.getAccount(req);
    boolean includeWeights = "true".equalsIgnoreCase(req.getParameter("includeWeights"));
    Vote vote = Vote.getVote(poll.getId(), account.getId());
    if (vote != null) {
        int countHeight;
        JSONData.VoteWeighter weighter = null;
        if (includeWeights && (countHeight = Math.min(poll.getFinishHeight(), Nxt.getBlockchain().getHeight()))
                >= Nxt.getBlockchainProcessor().getMinRollbackHeight()) {
            VoteWeighting voteWeighting = poll.getVoteWeighting();
            VoteWeighting.VotingModel votingModel = voteWeighting.getVotingModel();
            weighter = voterId -> votingModel.calcWeight(voteWeighting, voterId, countHeight);
        }
        return JSONData.vote(vote, weighter);
    }
    return JSON.emptyJSON;
}
 
开发者ID:BitcoinFullnode,项目名称:ROKOS-OK-Bitcoin-Fullnode,代码行数:20,代码来源:GetPollVote.java

示例7: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(HttpServletRequest req) {
    String id = Convert.emptyToNull(req.getParameter("id"));
    if (id == null) {
        return JSON.emptyJSON;
    }
    JSONObject response = new JSONObject();
    BigInteger bigInteger = new BigInteger(id);
    if (bigInteger.signum() < 0) {
        if (bigInteger.negate().compareTo(Convert.two64) > 0) {
            return JSONResponses.OVERFLOW;
        } else {
            response.put("stringId", bigInteger.add(Convert.two64).toString());
            response.put("longId", String.valueOf(bigInteger.longValue()));
        }
    } else {
        if (bigInteger.compareTo(Convert.two64) >= 0) {
            return JSONResponses.OVERFLOW;
        } else {
            response.put("stringId", bigInteger.toString());
            response.put("longId", String.valueOf(bigInteger.longValue()));
        }
    }
    return response;
}
 
开发者ID:BitcoinFullnode,项目名称:ROKOS-OK-Bitcoin-Fullnode,代码行数:26,代码来源:LongConvert.java

示例8: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(JSONObject request, Peer peer) {

    List<String> exclude = (List<String>)request.get("exclude");
    if (exclude == null) {
        return JSON.emptyJSON;
    }

    JSONArray transactionsData = new JSONArray();
    try (DbIterator<? extends Transaction> transactions = Nxt.getTransactionProcessor().getAllUnconfirmedTransactions()) {
        while (transactions.hasNext()) {
            if (transactionsData.size() >= 100) {
                break;
            }
            Transaction transaction = transactions.next();
            if (Collections.binarySearch(exclude, transaction.getStringId()) < 0) {
                transactionsData.add(transaction.getJSONObject());
            }
        }
    }
    JSONObject response = new JSONObject();
    response.put("unconfirmedTransactions", transactionsData);

    return response;
}
 
开发者ID:BitcoinFullnode,项目名称:ROKOS-OK-Bitcoin-Fullnode,代码行数:26,代码来源:GetUnconfirmedTransactions.java

示例9: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(final JSONObject request, final Peer peer) {
    String previousBlockId = (String)request.get("previousBlock");
    Block lastBlock = Nxt.getBlockchain().getLastBlock();
    if (lastBlock.getStringId().equals(previousBlockId) ||
            (Convert.parseUnsignedLong(previousBlockId) == lastBlock.getPreviousBlockId()
                    && lastBlock.getTimestamp() > Convert.parseLong(request.get("timestamp")))) {
        Peers.peersService.submit(() -> {
            try {
                Nxt.getBlockchainProcessor().processPeerBlock(request);
            } catch (NxtException | RuntimeException e) {
                if (peer != null) {
                    peer.blacklist(e);
                }
            }
        });
    }
    return JSON.emptyJSON;
}
 
开发者ID:BitcoinFullnode,项目名称:ROKOS-OK-Bitcoin-Fullnode,代码行数:20,代码来源:ProcessBlock.java

示例10: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(JSONObject request, Peer peer) {
    final JSONArray peers = (JSONArray)request.get("peers");
    if (peers != null && Peers.getMorePeers && !Peers.hasTooManyKnownPeers()) {
        Peers.peersService.submit(() -> {
            for (Object announcedAddress : peers) {
                Peer newPeer = Peers.findOrCreatePeer((String) announcedAddress, true);
                if (newPeer != null) {
                    Peers.addPeer(newPeer);
                    if (Peers.hasTooManyKnownPeers()) {
                        break;
                    }
                }
            }
        });
    }
    return JSON.emptyJSON;
}
 
开发者ID:BitcoinFullnode,项目名称:ROKOS-OK-Bitcoin-Fullnode,代码行数:19,代码来源:AddPeers.java

示例11: getNextBlocks

import nxt.util.JSON; //导入依赖的package包/类
private JSONArray getNextBlocks(Peer peer, long curBlockId) {

            JSONObject request = new JSONObject();
            request.put("requestType", "getNextBlocks");
            request.put("blockId", Convert.toUnsignedLong(curBlockId));
            JSONObject response = peer.send(JSON.prepareRequest(request));
            if (response == null) {
                return null;
            }

            JSONArray nextBlocks = (JSONArray) response.get("nextBlocks");
            if (nextBlocks == null) {
                return null;
            }
            // prevent overloading with blocks
            if (nextBlocks.size() > 720) {
                Logger.logDebugMessage("Obsolete or rogue peer " + peer.getPeerAddress() + " sends too many nextBlocks, blacklisting");
                peer.blacklist();
                return null;
            }

            return nextBlocks;

        }
 
开发者ID:Ziftr,项目名称:nxt,代码行数:25,代码来源:BlockchainProcessorImpl.java

示例12: getNextBlocks

import nxt.util.JSON; //导入依赖的package包/类
private JSONArray getNextBlocks(Peer peer, Long curBlockId) {

            JSONObject request = new JSONObject();
            request.put("requestType", "getNextBlocks");
            request.put("blockId", Convert.toUnsignedLong(curBlockId));
            JSONObject response = peer.send(JSON.prepareRequest(request));
            if (response == null) {
                return null;
            }

            JSONArray nextBlocks = (JSONArray) response.get("nextBlocks");
            if (nextBlocks == null) {
                return null;
            }
            // prevent overloading with blocks
            if (nextBlocks.size() > 1440) {
                Logger.logDebugMessage("Obsolete or rogue peer " + peer.getPeerAddress() + " sends too many nextBlocks, blacklisting");
                peer.blacklist();
                return null;
            }

            return nextBlocks;

        }
 
开发者ID:aspnmy,项目名称:NasCoin,代码行数:25,代码来源:BlockchainProcessorImpl.java

示例13: processRequest

import nxt.util.JSON; //导入依赖的package包/类
@Override
JSONStreamAware processRequest(HttpServletRequest req) {

    String alias = req.getParameter("alias");
    if (alias == null) {
        return MISSING_ALIAS;
    }

    Alias aliasData = Alias.getAlias(alias.toLowerCase());
    if (aliasData == null) {
        return UNKNOWN_ALIAS;
    }

    if (aliasData.getURI().length() > 0) {

        JSONObject response = new JSONObject();
        response.put("uri", aliasData.getURI());
        return response;

    } else {
        return JSON.emptyJSON;
    }
}
 
开发者ID:aspnmy,项目名称:NasCoin,代码行数:24,代码来源:GetAliasURI.java

示例14: getNextBlocks

import nxt.util.JSON; //导入依赖的package包/类
private JSONArray getNextBlocks(Peer paramAnonymousPeer, Long paramAnonymousLong)
{
  JSONObject localJSONObject1 = new JSONObject();
  localJSONObject1.put("requestType", "getNextBlocks");
  localJSONObject1.put("blockId", Convert.toUnsignedLong(paramAnonymousLong));
  JSONObject localJSONObject2 = paramAnonymousPeer.send(JSON.prepareRequest(localJSONObject1));
  if (localJSONObject2 == null) {
    return null;
  }
  JSONArray localJSONArray = (JSONArray)localJSONObject2.get("nextBlocks");
  if (localJSONArray == null) {
    return null;
  }
  if (localJSONArray.size() > 1440)
  {
    Logger.logDebugMessage("Obsolete or rogue peer " + paramAnonymousPeer.getPeerAddress() + " sends too many nextBlocks, blacklisting");
    paramAnonymousPeer.blacklist();
    return null;
  }
  return localJSONArray;
}
 
开发者ID:stevedoe,项目名称:nxt-client,代码行数:22,代码来源:BlockchainProcessorImpl.java

示例15: processRequest

import nxt.util.JSON; //导入依赖的package包/类
JSONStreamAware processRequest(HttpServletRequest paramHttpServletRequest)
{
  String str = paramHttpServletRequest.getParameter("account");
  if (str == null) {
    return JSONResponses.MISSING_ACCOUNT;
  }
  Account localAccount;
  try
  {
    localAccount = Account.getAccount(Convert.parseUnsignedLong(str));
  }
  catch (RuntimeException localRuntimeException)
  {
    return JSONResponses.INCORRECT_ACCOUNT;
  }
  if (localAccount == null) {
    return JSONResponses.UNKNOWN_ACCOUNT;
  }
  if (localAccount.getPublicKey() != null)
  {
    JSONObject localJSONObject = new JSONObject();
    localJSONObject.put("publicKey", Convert.toHexString(localAccount.getPublicKey()));
    return localJSONObject;
  }
  return JSON.emptyJSON;
}
 
开发者ID:stevedoe,项目名称:nxt-client,代码行数:27,代码来源:GetAccountPublicKey.java


注:本文中的nxt.util.JSON类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。