我验证了JSON是好的。当我逐步通过调试器并观察方法getString(见下文)时,程序得到的是一个JSONObject,而不是一个String。你知道为什么会发生这种情况以及如何纠正它吗?这是在.get()调用之后显示的对象值:
{“access_level”:“readonly”,“地址”:“9997-dlsrir-b8aky4@mg.lmsnet.com”,“名称”:“密歇根大道北纬123号公寓协会”,“created_at”:“thu,2019年1月10日15:20:35-0000”,“description”:“”members_count“:1}
public MailingList( ClientResponse responseContactList )
{
try
{
System.out.println( "Begin MailingList Constructor!" );
String tempStr = responseContactList.getEntity(String.class);
JSONObject aJSONObject = new JSONObject( tempStr );
aJSONObject = new JSONObject( aJSONObject.getString( "list" ) );
createdAt = aJSONObject.getString( "created_at" );
address = aJSONObject.getString( "address" );
membersCount = Long.parseLong( aJSONObject.getString( "members_count" ) );
description = aJSONObject.getString( "description" );
name = aJSONObject.getString( "name" );
} catch( Exception e )
{
e.printStackTrace();
isValid = false;
}
isValid = true;
System.out.println( "End MailingList Constructor!" );
}
/**
* Get the string associated with a key.
*
* @param key
* A key string.
* @return A string which is the value.
* @throws JSONException
* if there is no string value for the key.
*/
public String getString(String key) throws JSONException {
Object object = this.get(key);
if (object instanceof String) {
return (String) object;
}
throw new JSONException("JSONObject[" + quote(key) + "] not a string.");
}
看来,2011年5月的这一变化可能是导致不同行为的原因。
https://github.com/stleary/json-java/commit/f4cb14728f13629972a0ea76bb3dc0705a735fa8
看第634行。toString方法过去看起来如下所示,它会给出正确的结果:
Object object = get(key);
return object == NULL ? null : object.toString();
aJSONObject = new JSONObject( aJSONObject.getString( "list" ) );
aJSONObject = aJSONObject.getJSONObject( "list" );
我正在尝试使用JsonObject将java对象转换为String。以下是我用来添加属性的代码: 这里最后一个属性条件是Long值的列表,下面是检索到的响应: 调味品的预期产量如下: 我应该怎么做才能获得JSON数组而不是字符串形式的调味品?
问题内容: 我发现自己同意返回接口而不是具体的类。 原因很简单,我要松散耦合。 但是还会有其他影响或权衡吗? 问题答案: 对于List或ArrayList之类的类型,不应进行任何编译,并且应将List提升Code返回到接口。 如果这是通过诸如CopyOnWriteArrayList之类的并发包进行的,并且您使用的是addIfAbsent之类的方法(未在List接口中定义),您将发现自己受到限制。
我发现自己同意返回一个接口,而不是一个具体的类。
有人能告诉我为什么列表返回空吗?我的xpath是准确的,因为我重新检查了它,但我仍然无法迭代它,而调试for循环甚至没有执行。我不确定我哪里出了问题。
我有一个Spring Data JPA存储库接口,看起来像这样: 除了返回类型为HashMap的集合之外,是否有其他解决方法可以实现相同的效果