似乎无法弄清楚这一点.我在GSON中尝试JSON树操作,但我有一个案例,我不知道或有一个POJO转换为字符串,在转换之前JsonObject.有没有办法直接从a String到JsonObject?
我尝试了以下(Scala语法):
val gson = (new GsonBuilder).create
val a: JsonObject = gson.toJsonTree("""{ "a": "A", "b": true }""").getAsJsonObject
val b: JsonObject = gson.fromJson("""{ "a": "A", "b": true }""", classOf[JsonObject])
Run Code Online (Sandbox Code Playgroud)
但a失败了,JSON被转义并解析为JsonString唯一,并
b返回一个空JsonObject.
有任何想法吗?
我正在开发一个Android应用程序.在我的应用程序中,我必须将字符串转换为Json对象,然后解析值.我在stackoverflow中检查了一个解决方案,并在此处找到了类似的问题链接
解决方案是这样的
`{"phonetype":"N95","cat":"WP"}`
JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
Run Code Online (Sandbox Code Playgroud)
我在代码中使用相同的方法.我的字符串是
{"ApiInfo":{"description":"userDetails","status":"success"},"userDetails":{"Name":"somename","userName":"value"},"pendingPushDetails":[]}
string mystring= mystring.replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)
更换后我得到了结果
{\"ApiInfo\":{\"description\":\"userDetails\",\"status\":\"success\"},\"userDetails\":{\"Name\":\"Sarath Babu\",\"userName\":\"sarath.babu.sarath babu\",\"Token\":\"ZIhvXsZlKCNL6Xj9OPIOOz3FlGta9g\",\"userId\":\"118\"},\"pendingPushDetails\":[]}
Run Code Online (Sandbox Code Playgroud)
当我执行 JSONObject jsonObj = new JSONObject(mybizData);
我得到以下json异常
org.json.JSONException: Expected literal value at character 1 of
Run Code Online (Sandbox Code Playgroud)
请帮我解决我的问题.
我有JSON对象如下:
member = "{interests : [{interestKey:Dogs}, {interestKey:Cats}]}";
Run Code Online (Sandbox Code Playgroud)
在Java中,我想解析上面的json对象并将值存储在arraylist中.
我正在寻找一些代码,通过它我可以实现这一点.
我按照了这个指南 https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support, 但我遇到了这个错误:
junit.framework.AssertionFailedError: Exception in constructor: testSaveJson (java.lang.RuntimeException: Method put in org.json.JSONObject not mocked. See https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support for details.
Run Code Online (Sandbox Code Playgroud)
我按照指南的说法修改了Gradle,但它并没有什么区别
testOptions {
unitTests.returnDefaultValues = true
}
Run Code Online (Sandbox Code Playgroud) 我从未对序列化做过多少工作,但我尝试使用Google的gson将Java对象序列化为文件.这是我的问题的一个例子:
public interface Animal {
public String getName();
}
public class Cat implements Animal {
private String mName = "Cat";
private String mHabbit = "Playing with yarn";
public String getName() {
return mName;
}
public void setName(String pName) {
mName = pName;
}
public String getHabbit() {
return mHabbit;
}
public void setHabbit(String pHabbit) {
mHabbit = pHabbit;
}
}
public class Exhibit {
private String mDescription;
private Animal mAnimal;
public Exhibit() {
mDescription = "This is a …Run Code Online (Sandbox Code Playgroud) 我在用org.json.simple.JSONObject.我想转换string为Json object.
String value=request.getParameter("savepos");
JSONObject jsonObject = (JSONObject) JSONValue.parse(value);
Run Code Online (Sandbox Code Playgroud)
它不起作用.为什么?
stackoverflow上有很多关于如何使用Gson反序列化json数组的信息.
但是我如何使用XStreamjettison 做同样的事情呢?
这是json:
{"entity":[{"id":"1", "name":"aaa"}, {"id":"2", "name":"bbb"}]}
Run Code Online (Sandbox Code Playgroud)
以下是XStream我尝试解析它的代码:
XStream xstream = new XStream(new JettisonMappedXmlDriver());
xstream.alias("entity", Entity[].class);
return (Entity[])xstream.fromXML(jsonString);
Run Code Online (Sandbox Code Playgroud)
我有以下例外:
com.thoughtworks.xstream.converters.ConversionException: id : id
Run Code Online (Sandbox Code Playgroud) 之前已经提出过这个问题,但是我无法从对这些问题的回答中找出我的代码中的错误.
我试图将java字符串转换为json对象.这是代码:
import org.json.JSONObject;
//Other lines of code
URL seatURL = new URL("http://freemusicarchive.org/api/get/genres.json?api_key=60BLHNQCAOUFPIBZ&limit=2");
//Return the JSON Response from the API
BufferedReader br = new BufferedReader(new InputStreamReader(seatURL.openStream(),Charset.forName("UTF-8")));
String readAPIResponse = " ";
StringBuilder jsonString = new StringBuilder();
while((readAPIResponse = br.readLine()) != null){
jsonString.append(readAPIResponse);
}
JSONObject jsonObj = new JSONObject(jsonString);
System.out.println(jsonString);
System.out.println("---------------------------");
System.out.println(jsonObj);
Run Code Online (Sandbox Code Playgroud)
输出是:
{"title":"Free Music Archive - Genres","message":"","errors":[],"total":"163","total_pages":82,"page":1,"limit":"2","dataset":[{"genre_id":"1","genre_parent_id":"38","genre_title":"Avant-Garde","genre_handle":"Avant-Garde","genre_color":"#006666"},{"genre_id":"2","genre_parent_id":null,"genre_title":"International","genre_handle":"International","genre_color":"#CC3300"}]}
---------------------------
{}
Run Code Online (Sandbox Code Playgroud)
所以,正如你所看到的,jsonstring正在获取数据,但jsonObj却没有.我正在使用org.json JAR.
我的配置文件中有一些值,它应该是 JSON(它将作为字符串加载)。
我希望 Spring 在注入之前验证该值确实是有效的 JSON,否则会抛出错误。
我已经阅读了现有的验证注释,例如 - @NotNull、@Size、@Min、@Max、@Email等@NotEmpty。
有没有办法创建自定义验证器?
我想要一个验证器尝试将字符串转换为 JSON,如以下示例所示:How to conversion jsonString to JSONObject in Java。
我有一个Json字符串,我试图将其转换为Java中的数组.
public void DisplaySubjects(String subjects)
{
JSONObject jsonResponse;
jsonResponse = new JSONObject(subjects));
Run Code Online (Sandbox Code Playgroud)
就我而言.我甚至不确定我是否必须先创建一个对象.
我将需要做什么eventuallay将它附加到Android应用程序中的ArrayAdapter.
谢谢
我有一些功能,我收到这样的JSON:
String sorting ->> {"state":"desc"}
String filter ->> {"clientID":"XML"}
Run Code Online (Sandbox Code Playgroud)
内在的所有价值总是不同的.我怎样才能获得关键和价值JSON?
让我们说:
KEYsorting =state , Valuesorting = desc
KEYfilter =clientID, Valuefilter = XML
Run Code Online (Sandbox Code Playgroud)
我搜索了很多 - 包括这个网站 - 但无法处理它.我想这不是很难,我无法做到这一点.请帮忙
json ×10
java ×9
android ×3
gson ×2
annotations ×1
interface ×1
junit ×1
org.json ×1
spring ×1
unit-testing ×1
validation ×1
xstream ×1