module DaveTest {
namespace "urn:aaa:ddd:DaveTest";
prefix dave-module;
description "Dave testing file";
revision "2017-04-17" {
description "Initial version.";
}
container testing-vars {
list test-list {
key "vpn-transaction-id l3vpn-type";
unique "vpn-transaction-id";
leaf vpn-transaction-id {
type string;
}
leaf l3vpn-type {
type enumeration {
enum "bgp";
enum "static";
enum "gre tunnel";
}
mandatory true;
}
leaf vpn-id {
when "../l3vpn-type = 'bgp'";
type string;
}
}
}
给出错误,因为abc不是JSONObject。如何将此字符串转换为JSON对象?
在实际实施中'测试'我正在从文件中读取字符串..所以不添加转义序列.. !!
答案 0 :(得分:1)
字符串中的串联不正常。 abc是对象吗?或者它只是字符串abc?
String test = "{" + "abc" + ":null}";
但在上述情况下,您应该这样做:
String test = "{abc:null}";
或者,如果abc是另一个定义的String变量,请说如下:
String abc = "awesomeText";
String test = "{" + abc + ":null}";
或许您需要来自abc的那些引用? 使用" \"逃避引用字符。像这样:
String test ="{\"abc\":null}";
答案 1 :(得分:0)
我做了这个测试,它对我来说很好:
public static void main(String[] args) {
BufferedReader br;
try {
br = new BufferedReader(new FileReader("C:\\test.json"));
String currentLine;
while ((currentLine = br.readLine()) != null) {
JSONObject testObj = new JSONObject(currentLine);
System.out.println(testObj);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
}
我在使用test.json文件的内容时尝试了许多成功的测试:
{"abc":null}
{'abc':null}
{abc:null}