标签: json-simple

如何在搜索JSON对象时忽略大小写

我的示例JSON输入如下:

"JobName":"Test Job 1",
"events":[
    {   "features":[],
        "InputHiveTable":"uilog_uiclientlogdata",
        "eventColumn":"command",
        "name":"edu.apollogrp.classroom.discussion.client.events.CreateDiscussionEvent"
    },
Run Code Online (Sandbox Code Playgroud)

考虑该字段"InputHiveTable",它可以是全部大写INPUTHIVETABLE,全部小写inputhivetable,或两者的混合,就像现在一样.

目前,我正在阅读以下字段(在Java中):

JSONObject jsonObject = (JSONObject) obj;
JSONArray events = (JSONArray) jsonObject.get("events");
String InputHiveTable = (String)event.get("InputHiveTable");
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何"InputHiveTable"在忽略案例的同时搜索字段.我正在使用JSON Simple库.

java json json-simple

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

JSON-Simple导致编译器警告"类型安全:方法put(Object,Object)属于原始类型HashMap."

我刚刚遇到需要将数据放入JSONObject的情况,而这样做我收到了编译器的警告.

类型安全:方法put(Object,Object)属于原始类型HashMap.应该参数化对泛型类型HashMap的引用.

我试图参数化JSONObject但它给了我错误.

我正在使用以下代码,其中option是Object.

JSONObject additionalDetails = new JSONObject();
additionalDetails.put("showOppo", option.isShowOppo());
additionalDetails.put("showCont", option.isShowCont());
additionalDetails.put("contActionTaken", option.isConActionTaken());
additionalDetails.put("oppoActionTaken", option.isOppoActionTaken());
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

java generics parameterized compiler-warnings json-simple

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

从 Java 中的 HTTP 响应解析 JSON

嗨,我正在使用客户端 Http (apache) 和 json-simple。

我想访问json响应的属性,然后使用它们。

知道如何做到这一点吗?我读了一篇文章,但我并没有像它那样工作。

这是我的回答 json:

{"Name":"myname","Lastname":"mylastname","Age":19}
Run Code Online (Sandbox Code Playgroud)

这是我的代码java:

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpGet getRequest = new HttpGet(
    "http://localhost:8000/responsejava");
getRequest.addHeader("accept", "application/json");

HttpResponse response = httpClient.execute(getRequest);

if (response.getStatusLine().getStatusCode() != 200) {
    throw new RuntimeException("Failed : HTTP error code : "
             + response.getStatusLine().getStatusCode());
}

BufferedReader br = new BufferedReader(
    new InputStreamReader( 
        (response.getEntity().getContent())
    )
);

StringBuilder content = new StringBuilder();
String line;
while (null != (line = br.readLine())) {
    content.append(line);
}

Object obj=JSONValue.parse(content.toString());
JSONObject finalResult=(JSONObject)obj;
System.out.println(finalResult);

httpClient.getConnectionManager().shutdown();
Run Code Online (Sandbox Code Playgroud)

我打印了 null,我做错了什么?

java json http httpresponse json-simple

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

Gradle依赖json-simple错误

我是Gradle的新手,所以我正在尝试构建一个Java项目并且不确定依赖项.我从来没有让Gradle配置为能够进行我的测试或现在是一个jar文件来编译和运行.

我的build.gradle:

apply plugin: 'java'
apply plugin: 'maven'

repositories {
   jcenter()
}

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.25'
    compile 'org.json:json:20160212'
    testCompile 'junit:junit:4.12'
}
Run Code Online (Sandbox Code Playgroud)

这就是我在控制台上得到的声明,它没有看到我的导入:

 error: package org.json.simple does not exist
 import org.json.simple.JSONParser;
Run Code Online (Sandbox Code Playgroud)

这是我的班级:

import org.json.simple.*;
import java.io.*;
import java.util.*;
import java.lang.*;

public class FileLoader {
  @SuppressWarnings("unchecked")
  public static void main(String args[]) {
    JSONParser parser = new JSONParser();
    int count = 0;

    try {
      Object obj = parser.parse(new FileReader(
          "Consumers.json"));

      JSONObject jsonObject = (JSONObject) obj;
      JSONArray array = jsonObject.getJSONArray("people");
    } catch …
Run Code Online (Sandbox Code Playgroud)

junit dependencies gradle json-simple build.gradle

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

Json String无法使用json-simple toolkit java进行解码

JSON-简单

JSON-简单示例

String login = "{\"result\":[104192,42068],\"id\":1}";

Object obj = JSONValue.parse(login);

JSONArray array = (JSONArray)obj;
Run Code Online (Sandbox Code Playgroud)

抛出异常

线程"main"中的异常java.lang.ClassCastException:org.json.simple.JSONObject无法强制转换为org.json.simple.JSONArray

这段代码有什么问题?

java json decode exception json-simple

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

使用Java解码JSON对象数组

我有如下JSON:

[{"0":"1","id":"1","1":"abc","name":"abc"},{"0":"2","id":"2","1":"xyz","name":"xyz"}]
Run Code Online (Sandbox Code Playgroud)

它是一个对象数组.

我需要使用Java解析它.我在以下网址使用该库:http: //code.google.com/p/json-simple/downloads/list

此链接的示例1近似于我的要求:http: //code.google.com/p/json-simple/wiki/DecodingExamples

我有以下代码:

/** Decode JSON */
// Assuming the JSON string is stored in jsonResult (String)

Object obj = JSONValue.parse(jsonResult);
JSONArray array = (JSONArray)obj;
JSONObject jsonObj = null;
for (int i=0;i<array.length();i++){
    try {
        jsonObj = (JSONObject) array.get(i);
    } catch (JSONException e) {
        e.printStackTrace();
    } 
    try {
        Log.d(TAG,"Object no." + (i+1) + " field1: " + jsonObj.get("0") + " field2:       " + jsonObj.get("1"));
    } catch (JSONException e) {
        e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java android json json-simple

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

如何使用Json-Simple从JSON解析到Map并保留键顺序

我正在使用Json-Simple使用JSon-Simple lib编写配置文件,但是我在将json字符串转换为map时遇到了问题.

调试我发现parse方法返回一个Map的对象!但是当我尝试直接转换为LinkedMap时,我得到一个ClassCastException:

 String json = aceptaDefault();
 JSONParser parser = new JSONParser();
 Object obj = parser.parse(json);  
 LinkedHashMap map = (LinkedHashMap)obj;
Run Code Online (Sandbox Code Playgroud)

java json json-simple

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

杰克逊vs json简单的流解析

我在github上有一个json库https://github.com/jillesvangurp/jsonj

这个库有一个基于json simple的解析器,它使用一个处理程序类来完成我在库中创建JsonObject,JsonArray和JsonPrimitive实例的所有工作.

我见过人们发布各种基准测试表明,jackson解析器在性能方面和它一样好,而json simple是较慢的选项之一.因此,为了看看我是否可以提升性能,我创建了一个替代解析器,它使用jackson流API并调用我用于原始解析器的相同处理程序.从功能的角度来看,这很好用,非常简单.

你可以在这里找到相关的类(JsonHandler,JsonParser和JsonParserNg):https://github.com/jillesvangurp/jsonj/tree/master/src/main/java/com/github/jsonj/tools

但是,我没有看到我运行的各种测试有任何改进.

所以,我的问题是:我是否应该看到任何改进,如果是这样,为什么?在我看来,至少在流API模式下,两个库都具有相似的性能.

我对其他人对此的体验非常感兴趣.

java jackson json-simple

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

json-simple 尝试从 JSON 中获取特定值

我正在尝试对地址进行地理编码并在 java 中获取纬度/经度坐标。我能够对地址进行地理编码并将其返回到 json 对象中,但我无法弄清楚如何使用 json-simple 解析下面的 json 以获取 lat/lng。任何帮助表示赞赏。

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Minneapolis",
               "short_name" : "Minneapolis",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Hennepin County",
               "short_name" : "Hennepin County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Minnesota",
               "short_name" : "MN",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : …
Run Code Online (Sandbox Code Playgroud)

java json json-simple

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

尝试使用JSON简单解析JSON时的NoClassDefFoundError

我使用JSON简单来解析JSON,并NoClassDefFoundError在尝试创建JSONParser对象时得到.

import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
...
JSONParser parser = new JSONParser();
Run Code Online (Sandbox Code Playgroud)

我用命令编译程序:

javac MyProgram.java -cp json-simple-1.1.1.jar
Run Code Online (Sandbox Code Playgroud)

它编译得很好.但是当我用这个命令执行程序时:

java MyProgram
Run Code Online (Sandbox Code Playgroud)

我明白了 NoClassDefFoundError

我究竟做错了什么?

编辑:
完整错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/parser/JSONParser
        at getNotesFromNoter.sendPost(getNotesFromNoter.java:53)
        at getNotesFromNoter.main(getNotesFromNoter.java:14)
Caused by: java.lang.ClassNotFoundException: org.json.simple.parser.JSONParser
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 2 more
Run Code Online (Sandbox Code Playgroud)

java json classnotfoundexception json-simple

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